auser-poolparty 1.3.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION.yml +1 -1
- data/examples/monitored_cloud.rb +1 -1
- data/examples/thrift/thrift_example.rb +1 -1
- data/lib/proto/command_interface_handler.rb +1 -1
- data/vendor/gems/thrift/CHANGES +35 -0
- data/vendor/gems/thrift/CONTRIBUTORS +77 -0
- data/vendor/gems/thrift/DISCLAIMER +6 -0
- data/vendor/gems/thrift/LICENSE +202 -0
- data/vendor/gems/thrift/Makefile.am +28 -0
- data/vendor/gems/thrift/NEWS +79 -0
- data/vendor/gems/thrift/NOTICE +26 -0
- data/vendor/gems/thrift/README +137 -0
- data/vendor/gems/thrift/aclocal/ax_boost_base.m4 +198 -0
- data/vendor/gems/thrift/aclocal/ax_javac_and_java.m4 +107 -0
- data/vendor/gems/thrift/aclocal/ax_lib_event.m4 +194 -0
- data/vendor/gems/thrift/aclocal/ax_lib_zlib.m4 +173 -0
- data/vendor/gems/thrift/aclocal/ax_signed_right_shift.m4 +127 -0
- data/vendor/gems/thrift/aclocal/ax_thrift_internal.m4 +39 -0
- data/vendor/gems/thrift/bootstrap.sh +35 -0
- data/vendor/gems/thrift/cleanup.sh +58 -0
- data/vendor/gems/thrift/compiler/cpp/Makefile.am +136 -0
- data/vendor/gems/thrift/compiler/cpp/README +39 -0
- data/vendor/gems/thrift/compiler/cpp/src/generate/t_cocoa_generator.cc +2331 -0
- data/vendor/gems/thrift/compiler/cpp/src/generate/t_cpp_generator.cc +3003 -0
- data/vendor/gems/thrift/compiler/cpp/src/generate/t_csharp_generator.cc +1700 -0
- data/vendor/gems/thrift/compiler/cpp/src/generate/t_erl_generator.cc +932 -0
- data/vendor/gems/thrift/compiler/cpp/src/generate/t_generator.cc +173 -0
- data/vendor/gems/thrift/compiler/cpp/src/generate/t_generator.h +321 -0
- data/vendor/gems/thrift/compiler/cpp/src/generate/t_hs_generator.cc +1445 -0
- data/vendor/gems/thrift/compiler/cpp/src/generate/t_html_generator.cc +637 -0
- data/vendor/gems/thrift/compiler/cpp/src/generate/t_java_generator.cc +3069 -0
- data/vendor/gems/thrift/compiler/cpp/src/generate/t_ocaml_generator.cc +1673 -0
- data/vendor/gems/thrift/compiler/cpp/src/generate/t_oop_generator.h +77 -0
- data/vendor/gems/thrift/compiler/cpp/src/generate/t_perl_generator.cc +1812 -0
- data/vendor/gems/thrift/compiler/cpp/src/generate/t_php_generator.cc +2281 -0
- data/vendor/gems/thrift/compiler/cpp/src/generate/t_py_generator.cc +2310 -0
- data/vendor/gems/thrift/compiler/cpp/src/generate/t_rb_generator.cc +1114 -0
- data/vendor/gems/thrift/compiler/cpp/src/generate/t_st_generator.cc +1071 -0
- data/vendor/gems/thrift/compiler/cpp/src/generate/t_xsd_generator.cc +354 -0
- data/vendor/gems/thrift/compiler/cpp/src/globals.h +117 -0
- data/vendor/gems/thrift/compiler/cpp/src/main.cc +1207 -0
- data/vendor/gems/thrift/compiler/cpp/src/main.h +103 -0
- data/vendor/gems/thrift/compiler/cpp/src/md5.c +381 -0
- data/vendor/gems/thrift/compiler/cpp/src/md5.h +91 -0
- data/vendor/gems/thrift/compiler/cpp/src/parse/t_base_type.h +137 -0
- data/vendor/gems/thrift/compiler/cpp/src/parse/t_const.h +59 -0
- data/vendor/gems/thrift/compiler/cpp/src/parse/t_const_value.h +121 -0
- data/vendor/gems/thrift/compiler/cpp/src/parse/t_container.h +56 -0
- data/vendor/gems/thrift/compiler/cpp/src/parse/t_doc.h +51 -0
- data/vendor/gems/thrift/compiler/cpp/src/parse/t_enum.h +59 -0
- data/vendor/gems/thrift/compiler/cpp/src/parse/t_enum_value.h +64 -0
- data/vendor/gems/thrift/compiler/cpp/src/parse/t_field.h +150 -0
- data/vendor/gems/thrift/compiler/cpp/src/parse/t_function.h +93 -0
- data/vendor/gems/thrift/compiler/cpp/src/parse/t_list.h +56 -0
- data/vendor/gems/thrift/compiler/cpp/src/parse/t_map.h +64 -0
- data/vendor/gems/thrift/compiler/cpp/src/parse/t_program.h +223 -0
- data/vendor/gems/thrift/compiler/cpp/src/parse/t_scope.h +86 -0
- data/vendor/gems/thrift/compiler/cpp/src/parse/t_service.h +68 -0
- data/vendor/gems/thrift/compiler/cpp/src/parse/t_set.h +55 -0
- data/vendor/gems/thrift/compiler/cpp/src/parse/t_struct.h +127 -0
- data/vendor/gems/thrift/compiler/cpp/src/parse/t_type.h +176 -0
- data/vendor/gems/thrift/compiler/cpp/src/parse/t_typedef.h +70 -0
- data/vendor/gems/thrift/compiler/cpp/src/platform.h +36 -0
- data/vendor/gems/thrift/compiler/cpp/src/thriftl.ll +303 -0
- data/vendor/gems/thrift/compiler/cpp/src/thrifty.yy +1140 -0
- data/vendor/gems/thrift/configure.ac +255 -0
- data/vendor/gems/thrift/contrib/fb303/LICENSE +16 -0
- data/vendor/gems/thrift/contrib/fb303/Makefile.am +31 -0
- data/vendor/gems/thrift/contrib/fb303/README +37 -0
- data/vendor/gems/thrift/contrib/fb303/acinclude.m4 +258 -0
- data/vendor/gems/thrift/contrib/fb303/aclocal/ax_boost_base.m4 +198 -0
- data/vendor/gems/thrift/contrib/fb303/bootstrap.sh +26 -0
- data/vendor/gems/thrift/contrib/fb303/configure.ac +115 -0
- data/vendor/gems/thrift/contrib/fb303/cpp/FacebookBase.cpp +124 -0
- data/vendor/gems/thrift/contrib/fb303/cpp/FacebookBase.h +103 -0
- data/vendor/gems/thrift/contrib/fb303/cpp/Makefile.am +84 -0
- data/vendor/gems/thrift/contrib/fb303/cpp/ServiceTracker.cpp +481 -0
- data/vendor/gems/thrift/contrib/fb303/cpp/ServiceTracker.h +215 -0
- data/vendor/gems/thrift/contrib/fb303/global_footer.mk +21 -0
- data/vendor/gems/thrift/contrib/fb303/global_header.mk +38 -0
- data/vendor/gems/thrift/contrib/fb303/if/fb303.thrift +112 -0
- data/vendor/gems/thrift/contrib/fb303/java/FacebookBase.java +103 -0
- data/vendor/gems/thrift/contrib/fb303/java/build.xml +84 -0
- data/vendor/gems/thrift/contrib/fb303/php/FacebookBase.php +89 -0
- data/vendor/gems/thrift/contrib/fb303/py/Makefile.am +44 -0
- data/vendor/gems/thrift/contrib/fb303/py/fb303/FacebookBase.py +82 -0
- data/vendor/gems/thrift/contrib/fb303/py/fb303_scripts/__init__.py +20 -0
- data/vendor/gems/thrift/contrib/fb303/py/fb303_scripts/fb303_simple_mgmt.py +195 -0
- data/vendor/gems/thrift/contrib/fb303/py/setup.py +27 -0
- data/vendor/gems/thrift/contrib/thrift.el +126 -0
- data/vendor/gems/thrift/contrib/thrift.spec +206 -0
- data/vendor/gems/thrift/contrib/thrift.vim +91 -0
- data/vendor/gems/thrift/contrib/thrift_dump.cpp +91 -0
- data/vendor/gems/thrift/doc/lgpl-2.1.txt +504 -0
- data/vendor/gems/thrift/doc/otp-base-license.txt +20 -0
- data/vendor/gems/thrift/doc/thrift.bnf +96 -0
- data/vendor/gems/thrift/doc/thrift.tex +1057 -0
- data/vendor/gems/thrift/lib/Makefile.am +55 -0
- data/vendor/gems/thrift/lib/cocoa/README +21 -0
- data/vendor/gems/thrift/lib/cocoa/src/TApplicationException.h +44 -0
- data/vendor/gems/thrift/lib/cocoa/src/TApplicationException.m +130 -0
- data/vendor/gems/thrift/lib/cocoa/src/TException.h +34 -0
- data/vendor/gems/thrift/lib/cocoa/src/TException.m +64 -0
- data/vendor/gems/thrift/lib/cocoa/src/TProcessor.h +29 -0
- data/vendor/gems/thrift/lib/cocoa/src/TProcessorFactory.h +27 -0
- data/vendor/gems/thrift/lib/cocoa/src/TSharedProcessorFactory.h +27 -0
- data/vendor/gems/thrift/lib/cocoa/src/TSharedProcessorFactory.m +51 -0
- data/vendor/gems/thrift/lib/cocoa/src/protocol/TBinaryProtocol.h +51 -0
- data/vendor/gems/thrift/lib/cocoa/src/protocol/TBinaryProtocol.m +477 -0
- data/vendor/gems/thrift/lib/cocoa/src/protocol/TProtocol.h +148 -0
- data/vendor/gems/thrift/lib/cocoa/src/protocol/TProtocolException.h +25 -0
- data/vendor/gems/thrift/lib/cocoa/src/protocol/TProtocolException.m +23 -0
- data/vendor/gems/thrift/lib/cocoa/src/protocol/TProtocolFactory.h +29 -0
- data/vendor/gems/thrift/lib/cocoa/src/protocol/TProtocolUtil.h +29 -0
- data/vendor/gems/thrift/lib/cocoa/src/protocol/TProtocolUtil.m +104 -0
- data/vendor/gems/thrift/lib/cocoa/src/server/TSocketServer.h +50 -0
- data/vendor/gems/thrift/lib/cocoa/src/server/TSocketServer.m +153 -0
- data/vendor/gems/thrift/lib/cocoa/src/transport/THTTPClient.h +42 -0
- data/vendor/gems/thrift/lib/cocoa/src/transport/THTTPClient.m +159 -0
- data/vendor/gems/thrift/lib/cocoa/src/transport/TNSFileHandleTransport.h +35 -0
- data/vendor/gems/thrift/lib/cocoa/src/transport/TNSFileHandleTransport.m +91 -0
- data/vendor/gems/thrift/lib/cocoa/src/transport/TNSStreamTransport.h +38 -0
- data/vendor/gems/thrift/lib/cocoa/src/transport/TNSStreamTransport.m +89 -0
- data/vendor/gems/thrift/lib/cocoa/src/transport/TSocketClient.h +32 -0
- data/vendor/gems/thrift/lib/cocoa/src/transport/TSocketClient.m +58 -0
- data/vendor/gems/thrift/lib/cocoa/src/transport/TTransport.h +36 -0
- data/vendor/gems/thrift/lib/cocoa/src/transport/TTransportException.h +30 -0
- data/vendor/gems/thrift/lib/cocoa/src/transport/TTransportException.m +43 -0
- data/vendor/gems/thrift/lib/cpp/Makefile.am +158 -0
- data/vendor/gems/thrift/lib/cpp/README +67 -0
- data/vendor/gems/thrift/lib/cpp/src/TLogging.h +163 -0
- data/vendor/gems/thrift/lib/cpp/src/TProcessor.h +53 -0
- data/vendor/gems/thrift/lib/cpp/src/TReflectionLocal.h +96 -0
- data/vendor/gems/thrift/lib/cpp/src/Thrift.cpp +148 -0
- data/vendor/gems/thrift/lib/cpp/src/Thrift.h +191 -0
- data/vendor/gems/thrift/lib/cpp/src/concurrency/Exception.h +60 -0
- data/vendor/gems/thrift/lib/cpp/src/concurrency/FunctionRunner.h +77 -0
- data/vendor/gems/thrift/lib/cpp/src/concurrency/Monitor.cpp +137 -0
- data/vendor/gems/thrift/lib/cpp/src/concurrency/Monitor.h +84 -0
- data/vendor/gems/thrift/lib/cpp/src/concurrency/Mutex.cpp +160 -0
- data/vendor/gems/thrift/lib/cpp/src/concurrency/Mutex.h +114 -0
- data/vendor/gems/thrift/lib/cpp/src/concurrency/PosixThreadFactory.cpp +314 -0
- data/vendor/gems/thrift/lib/cpp/src/concurrency/PosixThreadFactory.h +130 -0
- data/vendor/gems/thrift/lib/cpp/src/concurrency/Thread.h +125 -0
- data/vendor/gems/thrift/lib/cpp/src/concurrency/ThreadManager.cpp +493 -0
- data/vendor/gems/thrift/lib/cpp/src/concurrency/ThreadManager.h +169 -0
- data/vendor/gems/thrift/lib/cpp/src/concurrency/TimerManager.cpp +284 -0
- data/vendor/gems/thrift/lib/cpp/src/concurrency/TimerManager.h +122 -0
- data/vendor/gems/thrift/lib/cpp/src/concurrency/Util.cpp +55 -0
- data/vendor/gems/thrift/lib/cpp/src/concurrency/Util.h +100 -0
- data/vendor/gems/thrift/lib/cpp/src/concurrency/test/Tests.cpp +155 -0
- data/vendor/gems/thrift/lib/cpp/src/concurrency/test/ThreadFactoryTests.h +354 -0
- data/vendor/gems/thrift/lib/cpp/src/concurrency/test/ThreadManagerTests.h +379 -0
- data/vendor/gems/thrift/lib/cpp/src/concurrency/test/TimerManagerTests.h +155 -0
- data/vendor/gems/thrift/lib/cpp/src/processor/PeekProcessor.cpp +122 -0
- data/vendor/gems/thrift/lib/cpp/src/processor/PeekProcessor.h +77 -0
- data/vendor/gems/thrift/lib/cpp/src/processor/StatsProcessor.h +264 -0
- data/vendor/gems/thrift/lib/cpp/src/protocol/TBase64Utils.cpp +79 -0
- data/vendor/gems/thrift/lib/cpp/src/protocol/TBase64Utils.h +42 -0
- data/vendor/gems/thrift/lib/cpp/src/protocol/TBinaryProtocol.cpp +394 -0
- data/vendor/gems/thrift/lib/cpp/src/protocol/TBinaryProtocol.h +254 -0
- data/vendor/gems/thrift/lib/cpp/src/protocol/TCompactProtocol.cpp +736 -0
- data/vendor/gems/thrift/lib/cpp/src/protocol/TCompactProtocol.h +279 -0
- data/vendor/gems/thrift/lib/cpp/src/protocol/TDebugProtocol.cpp +346 -0
- data/vendor/gems/thrift/lib/cpp/src/protocol/TDebugProtocol.h +225 -0
- data/vendor/gems/thrift/lib/cpp/src/protocol/TDenseProtocol.cpp +762 -0
- data/vendor/gems/thrift/lib/cpp/src/protocol/TDenseProtocol.h +253 -0
- data/vendor/gems/thrift/lib/cpp/src/protocol/TJSONProtocol.cpp +998 -0
- data/vendor/gems/thrift/lib/cpp/src/protocol/TJSONProtocol.h +340 -0
- data/vendor/gems/thrift/lib/cpp/src/protocol/TOneWayProtocol.h +304 -0
- data/vendor/gems/thrift/lib/cpp/src/protocol/TProtocol.h +438 -0
- data/vendor/gems/thrift/lib/cpp/src/protocol/TProtocolException.h +104 -0
- data/vendor/gems/thrift/lib/cpp/src/protocol/TProtocolTap.h +187 -0
- data/vendor/gems/thrift/lib/cpp/src/server/TNonblockingServer.cpp +750 -0
- data/vendor/gems/thrift/lib/cpp/src/server/TNonblockingServer.h +435 -0
- data/vendor/gems/thrift/lib/cpp/src/server/TServer.cpp +38 -0
- data/vendor/gems/thrift/lib/cpp/src/server/TServer.h +213 -0
- data/vendor/gems/thrift/lib/cpp/src/server/TSimpleServer.cpp +118 -0
- data/vendor/gems/thrift/lib/cpp/src/server/TSimpleServer.h +70 -0
- data/vendor/gems/thrift/lib/cpp/src/server/TThreadPoolServer.cpp +217 -0
- data/vendor/gems/thrift/lib/cpp/src/server/TThreadPoolServer.h +79 -0
- data/vendor/gems/thrift/lib/cpp/src/server/TThreadedServer.cpp +243 -0
- data/vendor/gems/thrift/lib/cpp/src/server/TThreadedServer.h +74 -0
- data/vendor/gems/thrift/lib/cpp/src/transport/TBufferTransports.cpp +370 -0
- data/vendor/gems/thrift/lib/cpp/src/transport/TBufferTransports.h +667 -0
- data/vendor/gems/thrift/lib/cpp/src/transport/TFDTransport.cpp +77 -0
- data/vendor/gems/thrift/lib/cpp/src/transport/TFDTransport.h +73 -0
- data/vendor/gems/thrift/lib/cpp/src/transport/TFileTransport.cpp +953 -0
- data/vendor/gems/thrift/lib/cpp/src/transport/TFileTransport.h +442 -0
- data/vendor/gems/thrift/lib/cpp/src/transport/THttpClient.cpp +348 -0
- data/vendor/gems/thrift/lib/cpp/src/transport/THttpClient.h +111 -0
- data/vendor/gems/thrift/lib/cpp/src/transport/TServerSocket.cpp +368 -0
- data/vendor/gems/thrift/lib/cpp/src/transport/TServerSocket.h +76 -0
- data/vendor/gems/thrift/lib/cpp/src/transport/TServerTransport.h +92 -0
- data/vendor/gems/thrift/lib/cpp/src/transport/TShortReadTransport.h +96 -0
- data/vendor/gems/thrift/lib/cpp/src/transport/TSimpleFileTransport.cpp +54 -0
- data/vendor/gems/thrift/lib/cpp/src/transport/TSimpleFileTransport.h +41 -0
- data/vendor/gems/thrift/lib/cpp/src/transport/TSocket.cpp +591 -0
- data/vendor/gems/thrift/lib/cpp/src/transport/TSocket.h +242 -0
- data/vendor/gems/thrift/lib/cpp/src/transport/TSocketPool.cpp +235 -0
- data/vendor/gems/thrift/lib/cpp/src/transport/TSocketPool.h +191 -0
- data/vendor/gems/thrift/lib/cpp/src/transport/TTransport.h +224 -0
- data/vendor/gems/thrift/lib/cpp/src/transport/TTransportException.cpp +31 -0
- data/vendor/gems/thrift/lib/cpp/src/transport/TTransportException.h +117 -0
- data/vendor/gems/thrift/lib/cpp/src/transport/TTransportUtils.cpp +178 -0
- data/vendor/gems/thrift/lib/cpp/src/transport/TTransportUtils.h +287 -0
- data/vendor/gems/thrift/lib/cpp/src/transport/TZlibTransport.cpp +299 -0
- data/vendor/gems/thrift/lib/cpp/src/transport/TZlibTransport.h +219 -0
- data/vendor/gems/thrift/lib/cpp/thrift-nb.pc.in +30 -0
- data/vendor/gems/thrift/lib/cpp/thrift-z.pc.in +30 -0
- data/vendor/gems/thrift/lib/cpp/thrift.pc.in +29 -0
- data/vendor/gems/thrift/lib/csharp/Makefile.am +70 -0
- data/vendor/gems/thrift/lib/csharp/README +26 -0
- data/vendor/gems/thrift/lib/csharp/ThriftMSBuildTask/Properties/AssemblyInfo.cs +55 -0
- data/vendor/gems/thrift/lib/csharp/ThriftMSBuildTask/ThriftBuild.cs +242 -0
- data/vendor/gems/thrift/lib/csharp/ThriftMSBuildTask/ThriftMSBuildTask.csproj +62 -0
- data/vendor/gems/thrift/lib/csharp/src/Collections/THashSet.cs +142 -0
- data/vendor/gems/thrift/lib/csharp/src/Protocol/TBase.cs +34 -0
- data/vendor/gems/thrift/lib/csharp/src/Protocol/TBinaryProtocol.cs +392 -0
- data/vendor/gems/thrift/lib/csharp/src/Protocol/TField.cs +58 -0
- data/vendor/gems/thrift/lib/csharp/src/Protocol/TList.cs +50 -0
- data/vendor/gems/thrift/lib/csharp/src/Protocol/TMap.cs +58 -0
- data/vendor/gems/thrift/lib/csharp/src/Protocol/TMessage.cs +58 -0
- data/vendor/gems/thrift/lib/csharp/src/Protocol/TMessageType.cs +31 -0
- data/vendor/gems/thrift/lib/csharp/src/Protocol/TProtocol.cs +87 -0
- data/vendor/gems/thrift/lib/csharp/src/Protocol/TProtocolException.cs +61 -0
- data/vendor/gems/thrift/lib/csharp/src/Protocol/TProtocolFactory.cs +29 -0
- data/vendor/gems/thrift/lib/csharp/src/Protocol/TProtocolUtil.cs +94 -0
- data/vendor/gems/thrift/lib/csharp/src/Protocol/TSet.cs +50 -0
- data/vendor/gems/thrift/lib/csharp/src/Protocol/TStruct.cs +42 -0
- data/vendor/gems/thrift/lib/csharp/src/Protocol/TType.cs +40 -0
- data/vendor/gems/thrift/lib/csharp/src/Server/TServer.cs +135 -0
- data/vendor/gems/thrift/lib/csharp/src/Server/TSimpleServer.cs +148 -0
- data/vendor/gems/thrift/lib/csharp/src/Server/TThreadPoolServer.cs +186 -0
- data/vendor/gems/thrift/lib/csharp/src/Server/TThreadedServer.cs +234 -0
- data/vendor/gems/thrift/lib/csharp/src/TApplicationException.cs +131 -0
- data/vendor/gems/thrift/lib/csharp/src/TProcessor.cs +29 -0
- data/vendor/gems/thrift/lib/csharp/src/Thrift.csproj +73 -0
- data/vendor/gems/thrift/lib/csharp/src/Thrift.sln +35 -0
- data/vendor/gems/thrift/lib/csharp/src/Transport/TBufferedTransport.cs +100 -0
- data/vendor/gems/thrift/lib/csharp/src/Transport/TServerSocket.cs +157 -0
- data/vendor/gems/thrift/lib/csharp/src/Transport/TServerTransport.cs +39 -0
- data/vendor/gems/thrift/lib/csharp/src/Transport/TSocket.cs +144 -0
- data/vendor/gems/thrift/lib/csharp/src/Transport/TStreamTransport.cs +103 -0
- data/vendor/gems/thrift/lib/csharp/src/Transport/TTransport.cs +66 -0
- data/vendor/gems/thrift/lib/csharp/src/Transport/TTransportException.cs +64 -0
- data/vendor/gems/thrift/lib/csharp/src/Transport/TTransportFactory.cs +38 -0
- data/vendor/gems/thrift/lib/erl/Makefile +37 -0
- data/vendor/gems/thrift/lib/erl/README +56 -0
- data/vendor/gems/thrift/lib/erl/build/beamver +59 -0
- data/vendor/gems/thrift/lib/erl/build/buildtargets.mk +15 -0
- data/vendor/gems/thrift/lib/erl/build/colors.mk +24 -0
- data/vendor/gems/thrift/lib/erl/build/docs.mk +12 -0
- data/vendor/gems/thrift/lib/erl/build/mime.types +98 -0
- data/vendor/gems/thrift/lib/erl/build/otp.mk +146 -0
- data/vendor/gems/thrift/lib/erl/build/otp_subdir.mk +85 -0
- data/vendor/gems/thrift/lib/erl/build/raw_test.mk +29 -0
- data/vendor/gems/thrift/lib/erl/include/thrift_constants.hrl +54 -0
- data/vendor/gems/thrift/lib/erl/include/thrift_protocol.hrl +31 -0
- data/vendor/gems/thrift/lib/erl/src/Makefile +116 -0
- data/vendor/gems/thrift/lib/erl/src/test_handler.erl +26 -0
- data/vendor/gems/thrift/lib/erl/src/test_service.erl +29 -0
- data/vendor/gems/thrift/lib/erl/src/thrift.app.src +44 -0
- data/vendor/gems/thrift/lib/erl/src/thrift.appup.src +1 -0
- data/vendor/gems/thrift/lib/erl/src/thrift_base64_transport.erl +64 -0
- data/vendor/gems/thrift/lib/erl/src/thrift_binary_protocol.erl +325 -0
- data/vendor/gems/thrift/lib/erl/src/thrift_buffered_transport.erl +180 -0
- data/vendor/gems/thrift/lib/erl/src/thrift_client.erl +384 -0
- data/vendor/gems/thrift/lib/erl/src/thrift_disk_log_transport.erl +118 -0
- data/vendor/gems/thrift/lib/erl/src/thrift_file_transport.erl +87 -0
- data/vendor/gems/thrift/lib/erl/src/thrift_framed_transport.erl +208 -0
- data/vendor/gems/thrift/lib/erl/src/thrift_http_transport.erl +199 -0
- data/vendor/gems/thrift/lib/erl/src/thrift_memory_buffer.erl +164 -0
- data/vendor/gems/thrift/lib/erl/src/thrift_processor.erl +188 -0
- data/vendor/gems/thrift/lib/erl/src/thrift_protocol.erl +356 -0
- data/vendor/gems/thrift/lib/erl/src/thrift_server.erl +183 -0
- data/vendor/gems/thrift/lib/erl/src/thrift_service.erl +25 -0
- data/vendor/gems/thrift/lib/erl/src/thrift_socket_server.erl +249 -0
- data/vendor/gems/thrift/lib/erl/src/thrift_socket_transport.erl +119 -0
- data/vendor/gems/thrift/lib/erl/src/thrift_transport.erl +57 -0
- data/vendor/gems/thrift/lib/erl/vsn.mk +1 -0
- data/vendor/gems/thrift/lib/hs/README +82 -0
- data/vendor/gems/thrift/lib/hs/Setup.lhs +23 -0
- data/vendor/gems/thrift/lib/hs/TODO +2 -0
- data/vendor/gems/thrift/lib/hs/Thrift.cabal +20 -0
- data/vendor/gems/thrift/lib/hs/src/Thrift.hs +111 -0
- data/vendor/gems/thrift/lib/hs/src/Thrift/Protocol.hs +191 -0
- data/vendor/gems/thrift/lib/hs/src/Thrift/Protocol/Binary.hs +147 -0
- data/vendor/gems/thrift/lib/hs/src/Thrift/Server.hs +65 -0
- data/vendor/gems/thrift/lib/hs/src/Thrift/Transport.hs +60 -0
- data/vendor/gems/thrift/lib/hs/src/Thrift/Transport/Handle.hs +58 -0
- data/vendor/gems/thrift/lib/java/Makefile.am +38 -0
- data/vendor/gems/thrift/lib/java/README +43 -0
- data/vendor/gems/thrift/lib/java/build.xml +195 -0
- data/vendor/gems/thrift/lib/java/ivy.xml +8 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/IntRangeSet.java +171 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TApplicationException.java +123 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TBase.java +66 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TBaseHelper.java +102 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TByteArrayOutputStream.java +46 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TDeserializer.java +94 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TException.java +45 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TFieldRequirementType.java +30 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TProcessor.java +32 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TProcessorFactory.java +39 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TSerializer.java +110 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/meta_data/FieldMetaData.java +69 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/meta_data/FieldValueMetaData.java +42 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/meta_data/ListMetaData.java +29 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/meta_data/MapMetaData.java +31 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/meta_data/SetMetaData.java +29 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/meta_data/StructMetaData.java +31 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TBase64Utils.java +128 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TBinaryProtocol.java +331 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TCompactProtocol.java +741 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TField.java +48 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TJSONProtocol.java +927 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TList.java +38 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TMap.java +40 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TMessage.java +48 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TMessageType.java +31 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TProtocol.java +146 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TProtocolException.java +81 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TProtocolFactory.java +30 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TProtocolUtil.java +158 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TSet.java +42 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TSimpleJSONProtocol.java +384 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TStruct.java +36 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TType.java +40 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/server/THsHaServer.java +304 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/server/TNonblockingServer.java +772 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/server/TServer.java +126 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/server/TSimpleServer.java +145 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/server/TThreadPoolServer.java +271 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/transport/TFramedTransport.java +126 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/transport/THttpClient.java +157 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/transport/TIOStreamTransport.java +159 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/transport/TMemoryBuffer.java +98 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/transport/TNonblockingServerSocket.java +160 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/transport/TNonblockingServerTransport.java +31 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/transport/TNonblockingSocket.java +213 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/transport/TNonblockingTransport.java +31 -0
- data/vendor/gems/thrift/lib/java/src/org/apache/thrift/transport/TServerSocket.java +145 -0
- metadata +348 -37
- data/vendor/gems/trollop/FAQ.txt +0 -35
- data/vendor/gems/trollop/History.txt +0 -84
- data/vendor/gems/trollop/Manifest.txt +0 -7
- data/vendor/gems/trollop/README.txt +0 -38
- data/vendor/gems/trollop/Rakefile +0 -36
- data/vendor/gems/trollop/lib/trollop.rb +0 -695
- data/vendor/gems/trollop/release-script.txt +0 -13
- data/vendor/gems/trollop/test/test_trollop.rb +0 -957
- data/vendor/gems/trollop/www/index.html +0 -167
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Licensed to the Apache Software Foundation (ASF) under one
|
|
3
|
+
* or more contributor license agreements. See the NOTICE file
|
|
4
|
+
* distributed with this work for additional information
|
|
5
|
+
* regarding copyright ownership. The ASF licenses this file
|
|
6
|
+
* to you under the Apache License, Version 2.0 (the
|
|
7
|
+
* "License"); you may not use this file except in compliance
|
|
8
|
+
* with the License. You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing,
|
|
13
|
+
* software distributed under the License is distributed on an
|
|
14
|
+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
15
|
+
* KIND, either express or implied. See the License for the
|
|
16
|
+
* specific language governing permissions and limitations
|
|
17
|
+
* under the License.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
#ifndef _THRIFT_TRANSPORT_TSOCKETPOOL_H_
|
|
21
|
+
#define _THRIFT_TRANSPORT_TSOCKETPOOL_H_ 1
|
|
22
|
+
|
|
23
|
+
#include <vector>
|
|
24
|
+
#include "TSocket.h"
|
|
25
|
+
|
|
26
|
+
namespace apache { namespace thrift { namespace transport {
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Class to hold server information for TSocketPool
|
|
30
|
+
*
|
|
31
|
+
*/
|
|
32
|
+
class TSocketPoolServer {
|
|
33
|
+
|
|
34
|
+
public:
|
|
35
|
+
/**
|
|
36
|
+
* Default constructor for server info
|
|
37
|
+
*/
|
|
38
|
+
TSocketPoolServer();
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Constructor for TSocketPool server
|
|
42
|
+
*/
|
|
43
|
+
TSocketPoolServer(const std::string &host, int port);
|
|
44
|
+
|
|
45
|
+
// Host name
|
|
46
|
+
std::string host_;
|
|
47
|
+
|
|
48
|
+
// Port to connect on
|
|
49
|
+
int port_;
|
|
50
|
+
|
|
51
|
+
// Socket for the server
|
|
52
|
+
int socket_;
|
|
53
|
+
|
|
54
|
+
// Last time connecting to this server failed
|
|
55
|
+
int lastFailTime_;
|
|
56
|
+
|
|
57
|
+
// Number of consecutive times connecting to this server failed
|
|
58
|
+
int consecutiveFailures_;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* TCP Socket implementation of the TTransport interface.
|
|
63
|
+
*
|
|
64
|
+
*/
|
|
65
|
+
class TSocketPool : public TSocket {
|
|
66
|
+
|
|
67
|
+
public:
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Socket pool constructor
|
|
71
|
+
*/
|
|
72
|
+
TSocketPool();
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Socket pool constructor
|
|
76
|
+
*
|
|
77
|
+
* @param hosts list of host names
|
|
78
|
+
* @param ports list of port names
|
|
79
|
+
*/
|
|
80
|
+
TSocketPool(const std::vector<std::string> &hosts,
|
|
81
|
+
const std::vector<int> &ports);
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Socket pool constructor
|
|
85
|
+
*
|
|
86
|
+
* @param servers list of pairs of host name and port
|
|
87
|
+
*/
|
|
88
|
+
TSocketPool(const std::vector<std::pair<std::string, int> >& servers);
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Socket pool constructor
|
|
92
|
+
*
|
|
93
|
+
* @param servers list of TSocketPoolServers
|
|
94
|
+
*/
|
|
95
|
+
TSocketPool(const std::vector< boost::shared_ptr<TSocketPoolServer> >& servers);
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Socket pool constructor
|
|
99
|
+
*
|
|
100
|
+
* @param host single host
|
|
101
|
+
* @param port single port
|
|
102
|
+
*/
|
|
103
|
+
TSocketPool(const std::string& host, int port);
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Destroyes the socket object, closing it if necessary.
|
|
107
|
+
*/
|
|
108
|
+
virtual ~TSocketPool();
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Add a server to the pool
|
|
112
|
+
*/
|
|
113
|
+
void addServer(const std::string& host, int port);
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Set list of servers in this pool
|
|
117
|
+
*/
|
|
118
|
+
void setServers(const std::vector< boost::shared_ptr<TSocketPoolServer> >& servers);
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Get list of servers in this pool
|
|
122
|
+
*/
|
|
123
|
+
void getServers(std::vector< boost::shared_ptr<TSocketPoolServer> >& servers);
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Sets how many times to keep retrying a host in the connect function.
|
|
127
|
+
*/
|
|
128
|
+
void setNumRetries(int numRetries);
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Sets how long to wait until retrying a host if it was marked down
|
|
132
|
+
*/
|
|
133
|
+
void setRetryInterval(int retryInterval);
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Sets how many times to keep retrying a host before marking it as down.
|
|
137
|
+
*/
|
|
138
|
+
void setMaxConsecutiveFailures(int maxConsecutiveFailures);
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Turns randomization in connect order on or off.
|
|
142
|
+
*/
|
|
143
|
+
void setRandomize(bool randomize);
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Whether to always try the last server.
|
|
147
|
+
*/
|
|
148
|
+
void setAlwaysTryLast(bool alwaysTryLast);
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Creates and opens the UNIX socket.
|
|
152
|
+
*/
|
|
153
|
+
void open();
|
|
154
|
+
|
|
155
|
+
/*
|
|
156
|
+
* Closes the UNIX socket
|
|
157
|
+
*/
|
|
158
|
+
void close();
|
|
159
|
+
|
|
160
|
+
protected:
|
|
161
|
+
|
|
162
|
+
void setCurrentServer(const boost::shared_ptr<TSocketPoolServer> &server);
|
|
163
|
+
|
|
164
|
+
/** List of servers to connect to */
|
|
165
|
+
std::vector< boost::shared_ptr<TSocketPoolServer> > servers_;
|
|
166
|
+
|
|
167
|
+
/** Current server */
|
|
168
|
+
boost::shared_ptr<TSocketPoolServer> currentServer_;
|
|
169
|
+
|
|
170
|
+
/** How many times to retry each host in connect */
|
|
171
|
+
int numRetries_;
|
|
172
|
+
|
|
173
|
+
/** Retry interval in seconds, how long to not try a host if it has been
|
|
174
|
+
* marked as down.
|
|
175
|
+
*/
|
|
176
|
+
int retryInterval_;
|
|
177
|
+
|
|
178
|
+
/** Max consecutive failures before marking a host down. */
|
|
179
|
+
int maxConsecutiveFailures_;
|
|
180
|
+
|
|
181
|
+
/** Try hosts in order? or Randomized? */
|
|
182
|
+
bool randomize_;
|
|
183
|
+
|
|
184
|
+
/** Always try last host, even if marked down? */
|
|
185
|
+
bool alwaysTryLast_;
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
}}} // apache::thrift::transport
|
|
189
|
+
|
|
190
|
+
#endif // #ifndef _THRIFT_TRANSPORT_TSOCKETPOOL_H_
|
|
191
|
+
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Licensed to the Apache Software Foundation (ASF) under one
|
|
3
|
+
* or more contributor license agreements. See the NOTICE file
|
|
4
|
+
* distributed with this work for additional information
|
|
5
|
+
* regarding copyright ownership. The ASF licenses this file
|
|
6
|
+
* to you under the Apache License, Version 2.0 (the
|
|
7
|
+
* "License"); you may not use this file except in compliance
|
|
8
|
+
* with the License. You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing,
|
|
13
|
+
* software distributed under the License is distributed on an
|
|
14
|
+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
15
|
+
* KIND, either express or implied. See the License for the
|
|
16
|
+
* specific language governing permissions and limitations
|
|
17
|
+
* under the License.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
#ifndef _THRIFT_TRANSPORT_TTRANSPORT_H_
|
|
21
|
+
#define _THRIFT_TRANSPORT_TTRANSPORT_H_ 1
|
|
22
|
+
|
|
23
|
+
#include <Thrift.h>
|
|
24
|
+
#include <boost/shared_ptr.hpp>
|
|
25
|
+
#include <transport/TTransportException.h>
|
|
26
|
+
#include <string>
|
|
27
|
+
|
|
28
|
+
namespace apache { namespace thrift { namespace transport {
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Generic interface for a method of transporting data. A TTransport may be
|
|
32
|
+
* capable of either reading or writing, but not necessarily both.
|
|
33
|
+
*
|
|
34
|
+
*/
|
|
35
|
+
class TTransport {
|
|
36
|
+
public:
|
|
37
|
+
/**
|
|
38
|
+
* Virtual deconstructor.
|
|
39
|
+
*/
|
|
40
|
+
virtual ~TTransport() {}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Whether this transport is open.
|
|
44
|
+
*/
|
|
45
|
+
virtual bool isOpen() {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Tests whether there is more data to read or if the remote side is
|
|
51
|
+
* still open. By default this is true whenever the transport is open,
|
|
52
|
+
* but implementations should add logic to test for this condition where
|
|
53
|
+
* possible (i.e. on a socket).
|
|
54
|
+
* This is used by a server to check if it should listen for another
|
|
55
|
+
* request.
|
|
56
|
+
*/
|
|
57
|
+
virtual bool peek() {
|
|
58
|
+
return isOpen();
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Opens the transport for communications.
|
|
63
|
+
*
|
|
64
|
+
* @return bool Whether the transport was successfully opened
|
|
65
|
+
* @throws TTransportException if opening failed
|
|
66
|
+
*/
|
|
67
|
+
virtual void open() {
|
|
68
|
+
throw TTransportException(TTransportException::NOT_OPEN, "Cannot open base TTransport.");
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Closes the transport.
|
|
73
|
+
*/
|
|
74
|
+
virtual void close() {
|
|
75
|
+
throw TTransportException(TTransportException::NOT_OPEN, "Cannot close base TTransport.");
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Attempt to read up to the specified number of bytes into the string.
|
|
80
|
+
*
|
|
81
|
+
* @param buf Reference to the location to write the data
|
|
82
|
+
* @param len How many bytes to read
|
|
83
|
+
* @return How many bytes were actually read
|
|
84
|
+
* @throws TTransportException If an error occurs
|
|
85
|
+
*/
|
|
86
|
+
virtual uint32_t read(uint8_t* /* buf */, uint32_t /* len */) {
|
|
87
|
+
throw TTransportException(TTransportException::NOT_OPEN, "Base TTransport cannot read.");
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Reads the given amount of data in its entirety no matter what.
|
|
92
|
+
*
|
|
93
|
+
* @param s Reference to location for read data
|
|
94
|
+
* @param len How many bytes to read
|
|
95
|
+
* @return How many bytes read, which must be equal to size
|
|
96
|
+
* @throws TTransportException If insufficient data was read
|
|
97
|
+
*/
|
|
98
|
+
virtual uint32_t readAll(uint8_t* buf, uint32_t len) {
|
|
99
|
+
uint32_t have = 0;
|
|
100
|
+
uint32_t get = 0;
|
|
101
|
+
|
|
102
|
+
while (have < len) {
|
|
103
|
+
get = read(buf+have, len-have);
|
|
104
|
+
if (get <= 0) {
|
|
105
|
+
throw TTransportException("No more data to read.");
|
|
106
|
+
}
|
|
107
|
+
have += get;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
return have;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Called when read is completed.
|
|
115
|
+
* This can be over-ridden to perform a transport-specific action
|
|
116
|
+
* e.g. logging the request to a file
|
|
117
|
+
*
|
|
118
|
+
*/
|
|
119
|
+
virtual void readEnd() {
|
|
120
|
+
// default behaviour is to do nothing
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Writes the string in its entirety to the buffer.
|
|
126
|
+
*
|
|
127
|
+
* @param buf The data to write out
|
|
128
|
+
* @throws TTransportException if an error occurs
|
|
129
|
+
*/
|
|
130
|
+
virtual void write(const uint8_t* /* buf */, uint32_t /* len */) {
|
|
131
|
+
throw TTransportException(TTransportException::NOT_OPEN, "Base TTransport cannot write.");
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Called when write is completed.
|
|
136
|
+
* This can be over-ridden to perform a transport-specific action
|
|
137
|
+
* at the end of a request.
|
|
138
|
+
*
|
|
139
|
+
*/
|
|
140
|
+
virtual void writeEnd() {
|
|
141
|
+
// default behaviour is to do nothing
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Flushes any pending data to be written. Typically used with buffered
|
|
147
|
+
* transport mechanisms.
|
|
148
|
+
*
|
|
149
|
+
* @throws TTransportException if an error occurs
|
|
150
|
+
*/
|
|
151
|
+
virtual void flush() {}
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Attempts to return a pointer to \c len bytes, possibly copied into \c buf.
|
|
155
|
+
* Does not consume the bytes read (i.e.: a later read will return the same
|
|
156
|
+
* data). This method is meant to support protocols that need to read
|
|
157
|
+
* variable-length fields. They can attempt to borrow the maximum amount of
|
|
158
|
+
* data that they will need, then consume (see next method) what they
|
|
159
|
+
* actually use. Some transports will not support this method and others
|
|
160
|
+
* will fail occasionally, so protocols must be prepared to use read if
|
|
161
|
+
* borrow fails.
|
|
162
|
+
*
|
|
163
|
+
* @oaram buf A buffer where the data can be stored if needed.
|
|
164
|
+
* If borrow doesn't return buf, then the contents of
|
|
165
|
+
* buf after the call are undefined.
|
|
166
|
+
* @param len *len should initially contain the number of bytes to borrow.
|
|
167
|
+
* If borrow succeeds, *len will contain the number of bytes
|
|
168
|
+
* available in the returned pointer. This will be at least
|
|
169
|
+
* what was requested, but may be more if borrow returns
|
|
170
|
+
* a pointer to an internal buffer, rather than buf.
|
|
171
|
+
* If borrow fails, the contents of *len are undefined.
|
|
172
|
+
* @return If the borrow succeeds, return a pointer to the borrowed data.
|
|
173
|
+
* This might be equal to \c buf, or it might be a pointer into
|
|
174
|
+
* the transport's internal buffers.
|
|
175
|
+
* @throws TTransportException if an error occurs
|
|
176
|
+
*/
|
|
177
|
+
virtual const uint8_t* borrow(uint8_t* /* buf */, uint32_t* /* len */) {
|
|
178
|
+
return NULL;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* Remove len bytes from the transport. This should always follow a borrow
|
|
183
|
+
* of at least len bytes, and should always succeed.
|
|
184
|
+
* TODO(dreiss): Is there any transport that could borrow but fail to
|
|
185
|
+
* consume, or that would require a buffer to dump the consumed data?
|
|
186
|
+
*
|
|
187
|
+
* @param len How many bytes to consume
|
|
188
|
+
* @throws TTransportException If an error occurs
|
|
189
|
+
*/
|
|
190
|
+
virtual void consume(uint32_t /* len */) {
|
|
191
|
+
throw TTransportException(TTransportException::NOT_OPEN, "Base TTransport cannot consume.");
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
protected:
|
|
195
|
+
/**
|
|
196
|
+
* Simple constructor.
|
|
197
|
+
*/
|
|
198
|
+
TTransport() {}
|
|
199
|
+
};
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* Generic factory class to make an input and output transport out of a
|
|
203
|
+
* source transport. Commonly used inside servers to make input and output
|
|
204
|
+
* streams out of raw clients.
|
|
205
|
+
*
|
|
206
|
+
*/
|
|
207
|
+
class TTransportFactory {
|
|
208
|
+
public:
|
|
209
|
+
TTransportFactory() {}
|
|
210
|
+
|
|
211
|
+
virtual ~TTransportFactory() {}
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* Default implementation does nothing, just returns the transport given.
|
|
215
|
+
*/
|
|
216
|
+
virtual boost::shared_ptr<TTransport> getTransport(boost::shared_ptr<TTransport> trans) {
|
|
217
|
+
return trans;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
};
|
|
221
|
+
|
|
222
|
+
}}} // apache::thrift::transport
|
|
223
|
+
|
|
224
|
+
#endif // #ifndef _THRIFT_TRANSPORT_TTRANSPORT_H_
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Licensed to the Apache Software Foundation (ASF) under one
|
|
3
|
+
* or more contributor license agreements. See the NOTICE file
|
|
4
|
+
* distributed with this work for additional information
|
|
5
|
+
* regarding copyright ownership. The ASF licenses this file
|
|
6
|
+
* to you under the Apache License, Version 2.0 (the
|
|
7
|
+
* "License"); you may not use this file except in compliance
|
|
8
|
+
* with the License. You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing,
|
|
13
|
+
* software distributed under the License is distributed on an
|
|
14
|
+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
15
|
+
* KIND, either express or implied. See the License for the
|
|
16
|
+
* specific language governing permissions and limitations
|
|
17
|
+
* under the License.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
#include <transport/TTransportException.h>
|
|
21
|
+
#include <boost/lexical_cast.hpp>
|
|
22
|
+
#include <cstring>
|
|
23
|
+
#include <config.h>
|
|
24
|
+
|
|
25
|
+
using std::string;
|
|
26
|
+
using boost::lexical_cast;
|
|
27
|
+
|
|
28
|
+
namespace apache { namespace thrift { namespace transport {
|
|
29
|
+
|
|
30
|
+
}}} // apache::thrift::transport
|
|
31
|
+
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Licensed to the Apache Software Foundation (ASF) under one
|
|
3
|
+
* or more contributor license agreements. See the NOTICE file
|
|
4
|
+
* distributed with this work for additional information
|
|
5
|
+
* regarding copyright ownership. The ASF licenses this file
|
|
6
|
+
* to you under the Apache License, Version 2.0 (the
|
|
7
|
+
* "License"); you may not use this file except in compliance
|
|
8
|
+
* with the License. You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing,
|
|
13
|
+
* software distributed under the License is distributed on an
|
|
14
|
+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
15
|
+
* KIND, either express or implied. See the License for the
|
|
16
|
+
* specific language governing permissions and limitations
|
|
17
|
+
* under the License.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
#ifndef _THRIFT_TRANSPORT_TTRANSPORTEXCEPTION_H_
|
|
21
|
+
#define _THRIFT_TRANSPORT_TTRANSPORTEXCEPTION_H_ 1
|
|
22
|
+
|
|
23
|
+
#include <string>
|
|
24
|
+
#include <Thrift.h>
|
|
25
|
+
|
|
26
|
+
namespace apache { namespace thrift { namespace transport {
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Class to encapsulate all the possible types of transport errors that may
|
|
30
|
+
* occur in various transport systems. This provides a sort of generic
|
|
31
|
+
* wrapper around the shitty UNIX E_ error codes that lets a common code
|
|
32
|
+
* base of error handling to be used for various types of transports, i.e.
|
|
33
|
+
* pipes etc.
|
|
34
|
+
*
|
|
35
|
+
*/
|
|
36
|
+
class TTransportException : public apache::thrift::TException {
|
|
37
|
+
public:
|
|
38
|
+
/**
|
|
39
|
+
* Error codes for the various types of exceptions.
|
|
40
|
+
*/
|
|
41
|
+
enum TTransportExceptionType
|
|
42
|
+
{ UNKNOWN = 0
|
|
43
|
+
, NOT_OPEN = 1
|
|
44
|
+
, ALREADY_OPEN = 2
|
|
45
|
+
, TIMED_OUT = 3
|
|
46
|
+
, END_OF_FILE = 4
|
|
47
|
+
, INTERRUPTED = 5
|
|
48
|
+
, BAD_ARGS = 6
|
|
49
|
+
, CORRUPTED_DATA = 7
|
|
50
|
+
, INTERNAL_ERROR = 8
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
TTransportException() :
|
|
54
|
+
apache::thrift::TException(),
|
|
55
|
+
type_(UNKNOWN) {}
|
|
56
|
+
|
|
57
|
+
TTransportException(TTransportExceptionType type) :
|
|
58
|
+
apache::thrift::TException(),
|
|
59
|
+
type_(type) {}
|
|
60
|
+
|
|
61
|
+
TTransportException(const std::string& message) :
|
|
62
|
+
apache::thrift::TException(message),
|
|
63
|
+
type_(UNKNOWN) {}
|
|
64
|
+
|
|
65
|
+
TTransportException(TTransportExceptionType type, const std::string& message) :
|
|
66
|
+
apache::thrift::TException(message),
|
|
67
|
+
type_(type) {}
|
|
68
|
+
|
|
69
|
+
TTransportException(TTransportExceptionType type,
|
|
70
|
+
const std::string& message,
|
|
71
|
+
int errno_copy) :
|
|
72
|
+
apache::thrift::TException(message + ": " + TOutput::strerror_s(errno_copy)),
|
|
73
|
+
type_(type) {}
|
|
74
|
+
|
|
75
|
+
virtual ~TTransportException() throw() {}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Returns an error code that provides information about the type of error
|
|
79
|
+
* that has occurred.
|
|
80
|
+
*
|
|
81
|
+
* @return Error code
|
|
82
|
+
*/
|
|
83
|
+
TTransportExceptionType getType() const throw() {
|
|
84
|
+
return type_;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
virtual const char* what() const throw() {
|
|
88
|
+
if (message_.empty()) {
|
|
89
|
+
switch (type_) {
|
|
90
|
+
case UNKNOWN : return "TTransportException: Unknown transport exception";
|
|
91
|
+
case NOT_OPEN : return "TTransportException: Transport not open";
|
|
92
|
+
case ALREADY_OPEN : return "TTransportException: Transport already open";
|
|
93
|
+
case TIMED_OUT : return "TTransportException: Timed out";
|
|
94
|
+
case END_OF_FILE : return "TTransportException: End of file";
|
|
95
|
+
case INTERRUPTED : return "TTransportException: Interrupted";
|
|
96
|
+
case BAD_ARGS : return "TTransportException: Invalid arguments";
|
|
97
|
+
case CORRUPTED_DATA : return "TTransportException: Corrupted Data";
|
|
98
|
+
case INTERNAL_ERROR : return "TTransportException: Internal error";
|
|
99
|
+
default : return "TTransportException: (Invalid exception type)";
|
|
100
|
+
}
|
|
101
|
+
} else {
|
|
102
|
+
return message_.c_str();
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
protected:
|
|
107
|
+
/** Just like strerror_r but returns a C++ string object. */
|
|
108
|
+
std::string strerror_s(int errno_copy);
|
|
109
|
+
|
|
110
|
+
/** Error code */
|
|
111
|
+
TTransportExceptionType type_;
|
|
112
|
+
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
}}} // apache::thrift::transport
|
|
116
|
+
|
|
117
|
+
#endif // #ifndef _THRIFT_TRANSPORT_TTRANSPORTEXCEPTION_H_
|