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.
Files changed (353) hide show
  1. data/VERSION.yml +1 -1
  2. data/examples/monitored_cloud.rb +1 -1
  3. data/examples/thrift/thrift_example.rb +1 -1
  4. data/lib/proto/command_interface_handler.rb +1 -1
  5. data/vendor/gems/thrift/CHANGES +35 -0
  6. data/vendor/gems/thrift/CONTRIBUTORS +77 -0
  7. data/vendor/gems/thrift/DISCLAIMER +6 -0
  8. data/vendor/gems/thrift/LICENSE +202 -0
  9. data/vendor/gems/thrift/Makefile.am +28 -0
  10. data/vendor/gems/thrift/NEWS +79 -0
  11. data/vendor/gems/thrift/NOTICE +26 -0
  12. data/vendor/gems/thrift/README +137 -0
  13. data/vendor/gems/thrift/aclocal/ax_boost_base.m4 +198 -0
  14. data/vendor/gems/thrift/aclocal/ax_javac_and_java.m4 +107 -0
  15. data/vendor/gems/thrift/aclocal/ax_lib_event.m4 +194 -0
  16. data/vendor/gems/thrift/aclocal/ax_lib_zlib.m4 +173 -0
  17. data/vendor/gems/thrift/aclocal/ax_signed_right_shift.m4 +127 -0
  18. data/vendor/gems/thrift/aclocal/ax_thrift_internal.m4 +39 -0
  19. data/vendor/gems/thrift/bootstrap.sh +35 -0
  20. data/vendor/gems/thrift/cleanup.sh +58 -0
  21. data/vendor/gems/thrift/compiler/cpp/Makefile.am +136 -0
  22. data/vendor/gems/thrift/compiler/cpp/README +39 -0
  23. data/vendor/gems/thrift/compiler/cpp/src/generate/t_cocoa_generator.cc +2331 -0
  24. data/vendor/gems/thrift/compiler/cpp/src/generate/t_cpp_generator.cc +3003 -0
  25. data/vendor/gems/thrift/compiler/cpp/src/generate/t_csharp_generator.cc +1700 -0
  26. data/vendor/gems/thrift/compiler/cpp/src/generate/t_erl_generator.cc +932 -0
  27. data/vendor/gems/thrift/compiler/cpp/src/generate/t_generator.cc +173 -0
  28. data/vendor/gems/thrift/compiler/cpp/src/generate/t_generator.h +321 -0
  29. data/vendor/gems/thrift/compiler/cpp/src/generate/t_hs_generator.cc +1445 -0
  30. data/vendor/gems/thrift/compiler/cpp/src/generate/t_html_generator.cc +637 -0
  31. data/vendor/gems/thrift/compiler/cpp/src/generate/t_java_generator.cc +3069 -0
  32. data/vendor/gems/thrift/compiler/cpp/src/generate/t_ocaml_generator.cc +1673 -0
  33. data/vendor/gems/thrift/compiler/cpp/src/generate/t_oop_generator.h +77 -0
  34. data/vendor/gems/thrift/compiler/cpp/src/generate/t_perl_generator.cc +1812 -0
  35. data/vendor/gems/thrift/compiler/cpp/src/generate/t_php_generator.cc +2281 -0
  36. data/vendor/gems/thrift/compiler/cpp/src/generate/t_py_generator.cc +2310 -0
  37. data/vendor/gems/thrift/compiler/cpp/src/generate/t_rb_generator.cc +1114 -0
  38. data/vendor/gems/thrift/compiler/cpp/src/generate/t_st_generator.cc +1071 -0
  39. data/vendor/gems/thrift/compiler/cpp/src/generate/t_xsd_generator.cc +354 -0
  40. data/vendor/gems/thrift/compiler/cpp/src/globals.h +117 -0
  41. data/vendor/gems/thrift/compiler/cpp/src/main.cc +1207 -0
  42. data/vendor/gems/thrift/compiler/cpp/src/main.h +103 -0
  43. data/vendor/gems/thrift/compiler/cpp/src/md5.c +381 -0
  44. data/vendor/gems/thrift/compiler/cpp/src/md5.h +91 -0
  45. data/vendor/gems/thrift/compiler/cpp/src/parse/t_base_type.h +137 -0
  46. data/vendor/gems/thrift/compiler/cpp/src/parse/t_const.h +59 -0
  47. data/vendor/gems/thrift/compiler/cpp/src/parse/t_const_value.h +121 -0
  48. data/vendor/gems/thrift/compiler/cpp/src/parse/t_container.h +56 -0
  49. data/vendor/gems/thrift/compiler/cpp/src/parse/t_doc.h +51 -0
  50. data/vendor/gems/thrift/compiler/cpp/src/parse/t_enum.h +59 -0
  51. data/vendor/gems/thrift/compiler/cpp/src/parse/t_enum_value.h +64 -0
  52. data/vendor/gems/thrift/compiler/cpp/src/parse/t_field.h +150 -0
  53. data/vendor/gems/thrift/compiler/cpp/src/parse/t_function.h +93 -0
  54. data/vendor/gems/thrift/compiler/cpp/src/parse/t_list.h +56 -0
  55. data/vendor/gems/thrift/compiler/cpp/src/parse/t_map.h +64 -0
  56. data/vendor/gems/thrift/compiler/cpp/src/parse/t_program.h +223 -0
  57. data/vendor/gems/thrift/compiler/cpp/src/parse/t_scope.h +86 -0
  58. data/vendor/gems/thrift/compiler/cpp/src/parse/t_service.h +68 -0
  59. data/vendor/gems/thrift/compiler/cpp/src/parse/t_set.h +55 -0
  60. data/vendor/gems/thrift/compiler/cpp/src/parse/t_struct.h +127 -0
  61. data/vendor/gems/thrift/compiler/cpp/src/parse/t_type.h +176 -0
  62. data/vendor/gems/thrift/compiler/cpp/src/parse/t_typedef.h +70 -0
  63. data/vendor/gems/thrift/compiler/cpp/src/platform.h +36 -0
  64. data/vendor/gems/thrift/compiler/cpp/src/thriftl.ll +303 -0
  65. data/vendor/gems/thrift/compiler/cpp/src/thrifty.yy +1140 -0
  66. data/vendor/gems/thrift/configure.ac +255 -0
  67. data/vendor/gems/thrift/contrib/fb303/LICENSE +16 -0
  68. data/vendor/gems/thrift/contrib/fb303/Makefile.am +31 -0
  69. data/vendor/gems/thrift/contrib/fb303/README +37 -0
  70. data/vendor/gems/thrift/contrib/fb303/acinclude.m4 +258 -0
  71. data/vendor/gems/thrift/contrib/fb303/aclocal/ax_boost_base.m4 +198 -0
  72. data/vendor/gems/thrift/contrib/fb303/bootstrap.sh +26 -0
  73. data/vendor/gems/thrift/contrib/fb303/configure.ac +115 -0
  74. data/vendor/gems/thrift/contrib/fb303/cpp/FacebookBase.cpp +124 -0
  75. data/vendor/gems/thrift/contrib/fb303/cpp/FacebookBase.h +103 -0
  76. data/vendor/gems/thrift/contrib/fb303/cpp/Makefile.am +84 -0
  77. data/vendor/gems/thrift/contrib/fb303/cpp/ServiceTracker.cpp +481 -0
  78. data/vendor/gems/thrift/contrib/fb303/cpp/ServiceTracker.h +215 -0
  79. data/vendor/gems/thrift/contrib/fb303/global_footer.mk +21 -0
  80. data/vendor/gems/thrift/contrib/fb303/global_header.mk +38 -0
  81. data/vendor/gems/thrift/contrib/fb303/if/fb303.thrift +112 -0
  82. data/vendor/gems/thrift/contrib/fb303/java/FacebookBase.java +103 -0
  83. data/vendor/gems/thrift/contrib/fb303/java/build.xml +84 -0
  84. data/vendor/gems/thrift/contrib/fb303/php/FacebookBase.php +89 -0
  85. data/vendor/gems/thrift/contrib/fb303/py/Makefile.am +44 -0
  86. data/vendor/gems/thrift/contrib/fb303/py/fb303/FacebookBase.py +82 -0
  87. data/vendor/gems/thrift/contrib/fb303/py/fb303_scripts/__init__.py +20 -0
  88. data/vendor/gems/thrift/contrib/fb303/py/fb303_scripts/fb303_simple_mgmt.py +195 -0
  89. data/vendor/gems/thrift/contrib/fb303/py/setup.py +27 -0
  90. data/vendor/gems/thrift/contrib/thrift.el +126 -0
  91. data/vendor/gems/thrift/contrib/thrift.spec +206 -0
  92. data/vendor/gems/thrift/contrib/thrift.vim +91 -0
  93. data/vendor/gems/thrift/contrib/thrift_dump.cpp +91 -0
  94. data/vendor/gems/thrift/doc/lgpl-2.1.txt +504 -0
  95. data/vendor/gems/thrift/doc/otp-base-license.txt +20 -0
  96. data/vendor/gems/thrift/doc/thrift.bnf +96 -0
  97. data/vendor/gems/thrift/doc/thrift.tex +1057 -0
  98. data/vendor/gems/thrift/lib/Makefile.am +55 -0
  99. data/vendor/gems/thrift/lib/cocoa/README +21 -0
  100. data/vendor/gems/thrift/lib/cocoa/src/TApplicationException.h +44 -0
  101. data/vendor/gems/thrift/lib/cocoa/src/TApplicationException.m +130 -0
  102. data/vendor/gems/thrift/lib/cocoa/src/TException.h +34 -0
  103. data/vendor/gems/thrift/lib/cocoa/src/TException.m +64 -0
  104. data/vendor/gems/thrift/lib/cocoa/src/TProcessor.h +29 -0
  105. data/vendor/gems/thrift/lib/cocoa/src/TProcessorFactory.h +27 -0
  106. data/vendor/gems/thrift/lib/cocoa/src/TSharedProcessorFactory.h +27 -0
  107. data/vendor/gems/thrift/lib/cocoa/src/TSharedProcessorFactory.m +51 -0
  108. data/vendor/gems/thrift/lib/cocoa/src/protocol/TBinaryProtocol.h +51 -0
  109. data/vendor/gems/thrift/lib/cocoa/src/protocol/TBinaryProtocol.m +477 -0
  110. data/vendor/gems/thrift/lib/cocoa/src/protocol/TProtocol.h +148 -0
  111. data/vendor/gems/thrift/lib/cocoa/src/protocol/TProtocolException.h +25 -0
  112. data/vendor/gems/thrift/lib/cocoa/src/protocol/TProtocolException.m +23 -0
  113. data/vendor/gems/thrift/lib/cocoa/src/protocol/TProtocolFactory.h +29 -0
  114. data/vendor/gems/thrift/lib/cocoa/src/protocol/TProtocolUtil.h +29 -0
  115. data/vendor/gems/thrift/lib/cocoa/src/protocol/TProtocolUtil.m +104 -0
  116. data/vendor/gems/thrift/lib/cocoa/src/server/TSocketServer.h +50 -0
  117. data/vendor/gems/thrift/lib/cocoa/src/server/TSocketServer.m +153 -0
  118. data/vendor/gems/thrift/lib/cocoa/src/transport/THTTPClient.h +42 -0
  119. data/vendor/gems/thrift/lib/cocoa/src/transport/THTTPClient.m +159 -0
  120. data/vendor/gems/thrift/lib/cocoa/src/transport/TNSFileHandleTransport.h +35 -0
  121. data/vendor/gems/thrift/lib/cocoa/src/transport/TNSFileHandleTransport.m +91 -0
  122. data/vendor/gems/thrift/lib/cocoa/src/transport/TNSStreamTransport.h +38 -0
  123. data/vendor/gems/thrift/lib/cocoa/src/transport/TNSStreamTransport.m +89 -0
  124. data/vendor/gems/thrift/lib/cocoa/src/transport/TSocketClient.h +32 -0
  125. data/vendor/gems/thrift/lib/cocoa/src/transport/TSocketClient.m +58 -0
  126. data/vendor/gems/thrift/lib/cocoa/src/transport/TTransport.h +36 -0
  127. data/vendor/gems/thrift/lib/cocoa/src/transport/TTransportException.h +30 -0
  128. data/vendor/gems/thrift/lib/cocoa/src/transport/TTransportException.m +43 -0
  129. data/vendor/gems/thrift/lib/cpp/Makefile.am +158 -0
  130. data/vendor/gems/thrift/lib/cpp/README +67 -0
  131. data/vendor/gems/thrift/lib/cpp/src/TLogging.h +163 -0
  132. data/vendor/gems/thrift/lib/cpp/src/TProcessor.h +53 -0
  133. data/vendor/gems/thrift/lib/cpp/src/TReflectionLocal.h +96 -0
  134. data/vendor/gems/thrift/lib/cpp/src/Thrift.cpp +148 -0
  135. data/vendor/gems/thrift/lib/cpp/src/Thrift.h +191 -0
  136. data/vendor/gems/thrift/lib/cpp/src/concurrency/Exception.h +60 -0
  137. data/vendor/gems/thrift/lib/cpp/src/concurrency/FunctionRunner.h +77 -0
  138. data/vendor/gems/thrift/lib/cpp/src/concurrency/Monitor.cpp +137 -0
  139. data/vendor/gems/thrift/lib/cpp/src/concurrency/Monitor.h +84 -0
  140. data/vendor/gems/thrift/lib/cpp/src/concurrency/Mutex.cpp +160 -0
  141. data/vendor/gems/thrift/lib/cpp/src/concurrency/Mutex.h +114 -0
  142. data/vendor/gems/thrift/lib/cpp/src/concurrency/PosixThreadFactory.cpp +314 -0
  143. data/vendor/gems/thrift/lib/cpp/src/concurrency/PosixThreadFactory.h +130 -0
  144. data/vendor/gems/thrift/lib/cpp/src/concurrency/Thread.h +125 -0
  145. data/vendor/gems/thrift/lib/cpp/src/concurrency/ThreadManager.cpp +493 -0
  146. data/vendor/gems/thrift/lib/cpp/src/concurrency/ThreadManager.h +169 -0
  147. data/vendor/gems/thrift/lib/cpp/src/concurrency/TimerManager.cpp +284 -0
  148. data/vendor/gems/thrift/lib/cpp/src/concurrency/TimerManager.h +122 -0
  149. data/vendor/gems/thrift/lib/cpp/src/concurrency/Util.cpp +55 -0
  150. data/vendor/gems/thrift/lib/cpp/src/concurrency/Util.h +100 -0
  151. data/vendor/gems/thrift/lib/cpp/src/concurrency/test/Tests.cpp +155 -0
  152. data/vendor/gems/thrift/lib/cpp/src/concurrency/test/ThreadFactoryTests.h +354 -0
  153. data/vendor/gems/thrift/lib/cpp/src/concurrency/test/ThreadManagerTests.h +379 -0
  154. data/vendor/gems/thrift/lib/cpp/src/concurrency/test/TimerManagerTests.h +155 -0
  155. data/vendor/gems/thrift/lib/cpp/src/processor/PeekProcessor.cpp +122 -0
  156. data/vendor/gems/thrift/lib/cpp/src/processor/PeekProcessor.h +77 -0
  157. data/vendor/gems/thrift/lib/cpp/src/processor/StatsProcessor.h +264 -0
  158. data/vendor/gems/thrift/lib/cpp/src/protocol/TBase64Utils.cpp +79 -0
  159. data/vendor/gems/thrift/lib/cpp/src/protocol/TBase64Utils.h +42 -0
  160. data/vendor/gems/thrift/lib/cpp/src/protocol/TBinaryProtocol.cpp +394 -0
  161. data/vendor/gems/thrift/lib/cpp/src/protocol/TBinaryProtocol.h +254 -0
  162. data/vendor/gems/thrift/lib/cpp/src/protocol/TCompactProtocol.cpp +736 -0
  163. data/vendor/gems/thrift/lib/cpp/src/protocol/TCompactProtocol.h +279 -0
  164. data/vendor/gems/thrift/lib/cpp/src/protocol/TDebugProtocol.cpp +346 -0
  165. data/vendor/gems/thrift/lib/cpp/src/protocol/TDebugProtocol.h +225 -0
  166. data/vendor/gems/thrift/lib/cpp/src/protocol/TDenseProtocol.cpp +762 -0
  167. data/vendor/gems/thrift/lib/cpp/src/protocol/TDenseProtocol.h +253 -0
  168. data/vendor/gems/thrift/lib/cpp/src/protocol/TJSONProtocol.cpp +998 -0
  169. data/vendor/gems/thrift/lib/cpp/src/protocol/TJSONProtocol.h +340 -0
  170. data/vendor/gems/thrift/lib/cpp/src/protocol/TOneWayProtocol.h +304 -0
  171. data/vendor/gems/thrift/lib/cpp/src/protocol/TProtocol.h +438 -0
  172. data/vendor/gems/thrift/lib/cpp/src/protocol/TProtocolException.h +104 -0
  173. data/vendor/gems/thrift/lib/cpp/src/protocol/TProtocolTap.h +187 -0
  174. data/vendor/gems/thrift/lib/cpp/src/server/TNonblockingServer.cpp +750 -0
  175. data/vendor/gems/thrift/lib/cpp/src/server/TNonblockingServer.h +435 -0
  176. data/vendor/gems/thrift/lib/cpp/src/server/TServer.cpp +38 -0
  177. data/vendor/gems/thrift/lib/cpp/src/server/TServer.h +213 -0
  178. data/vendor/gems/thrift/lib/cpp/src/server/TSimpleServer.cpp +118 -0
  179. data/vendor/gems/thrift/lib/cpp/src/server/TSimpleServer.h +70 -0
  180. data/vendor/gems/thrift/lib/cpp/src/server/TThreadPoolServer.cpp +217 -0
  181. data/vendor/gems/thrift/lib/cpp/src/server/TThreadPoolServer.h +79 -0
  182. data/vendor/gems/thrift/lib/cpp/src/server/TThreadedServer.cpp +243 -0
  183. data/vendor/gems/thrift/lib/cpp/src/server/TThreadedServer.h +74 -0
  184. data/vendor/gems/thrift/lib/cpp/src/transport/TBufferTransports.cpp +370 -0
  185. data/vendor/gems/thrift/lib/cpp/src/transport/TBufferTransports.h +667 -0
  186. data/vendor/gems/thrift/lib/cpp/src/transport/TFDTransport.cpp +77 -0
  187. data/vendor/gems/thrift/lib/cpp/src/transport/TFDTransport.h +73 -0
  188. data/vendor/gems/thrift/lib/cpp/src/transport/TFileTransport.cpp +953 -0
  189. data/vendor/gems/thrift/lib/cpp/src/transport/TFileTransport.h +442 -0
  190. data/vendor/gems/thrift/lib/cpp/src/transport/THttpClient.cpp +348 -0
  191. data/vendor/gems/thrift/lib/cpp/src/transport/THttpClient.h +111 -0
  192. data/vendor/gems/thrift/lib/cpp/src/transport/TServerSocket.cpp +368 -0
  193. data/vendor/gems/thrift/lib/cpp/src/transport/TServerSocket.h +76 -0
  194. data/vendor/gems/thrift/lib/cpp/src/transport/TServerTransport.h +92 -0
  195. data/vendor/gems/thrift/lib/cpp/src/transport/TShortReadTransport.h +96 -0
  196. data/vendor/gems/thrift/lib/cpp/src/transport/TSimpleFileTransport.cpp +54 -0
  197. data/vendor/gems/thrift/lib/cpp/src/transport/TSimpleFileTransport.h +41 -0
  198. data/vendor/gems/thrift/lib/cpp/src/transport/TSocket.cpp +591 -0
  199. data/vendor/gems/thrift/lib/cpp/src/transport/TSocket.h +242 -0
  200. data/vendor/gems/thrift/lib/cpp/src/transport/TSocketPool.cpp +235 -0
  201. data/vendor/gems/thrift/lib/cpp/src/transport/TSocketPool.h +191 -0
  202. data/vendor/gems/thrift/lib/cpp/src/transport/TTransport.h +224 -0
  203. data/vendor/gems/thrift/lib/cpp/src/transport/TTransportException.cpp +31 -0
  204. data/vendor/gems/thrift/lib/cpp/src/transport/TTransportException.h +117 -0
  205. data/vendor/gems/thrift/lib/cpp/src/transport/TTransportUtils.cpp +178 -0
  206. data/vendor/gems/thrift/lib/cpp/src/transport/TTransportUtils.h +287 -0
  207. data/vendor/gems/thrift/lib/cpp/src/transport/TZlibTransport.cpp +299 -0
  208. data/vendor/gems/thrift/lib/cpp/src/transport/TZlibTransport.h +219 -0
  209. data/vendor/gems/thrift/lib/cpp/thrift-nb.pc.in +30 -0
  210. data/vendor/gems/thrift/lib/cpp/thrift-z.pc.in +30 -0
  211. data/vendor/gems/thrift/lib/cpp/thrift.pc.in +29 -0
  212. data/vendor/gems/thrift/lib/csharp/Makefile.am +70 -0
  213. data/vendor/gems/thrift/lib/csharp/README +26 -0
  214. data/vendor/gems/thrift/lib/csharp/ThriftMSBuildTask/Properties/AssemblyInfo.cs +55 -0
  215. data/vendor/gems/thrift/lib/csharp/ThriftMSBuildTask/ThriftBuild.cs +242 -0
  216. data/vendor/gems/thrift/lib/csharp/ThriftMSBuildTask/ThriftMSBuildTask.csproj +62 -0
  217. data/vendor/gems/thrift/lib/csharp/src/Collections/THashSet.cs +142 -0
  218. data/vendor/gems/thrift/lib/csharp/src/Protocol/TBase.cs +34 -0
  219. data/vendor/gems/thrift/lib/csharp/src/Protocol/TBinaryProtocol.cs +392 -0
  220. data/vendor/gems/thrift/lib/csharp/src/Protocol/TField.cs +58 -0
  221. data/vendor/gems/thrift/lib/csharp/src/Protocol/TList.cs +50 -0
  222. data/vendor/gems/thrift/lib/csharp/src/Protocol/TMap.cs +58 -0
  223. data/vendor/gems/thrift/lib/csharp/src/Protocol/TMessage.cs +58 -0
  224. data/vendor/gems/thrift/lib/csharp/src/Protocol/TMessageType.cs +31 -0
  225. data/vendor/gems/thrift/lib/csharp/src/Protocol/TProtocol.cs +87 -0
  226. data/vendor/gems/thrift/lib/csharp/src/Protocol/TProtocolException.cs +61 -0
  227. data/vendor/gems/thrift/lib/csharp/src/Protocol/TProtocolFactory.cs +29 -0
  228. data/vendor/gems/thrift/lib/csharp/src/Protocol/TProtocolUtil.cs +94 -0
  229. data/vendor/gems/thrift/lib/csharp/src/Protocol/TSet.cs +50 -0
  230. data/vendor/gems/thrift/lib/csharp/src/Protocol/TStruct.cs +42 -0
  231. data/vendor/gems/thrift/lib/csharp/src/Protocol/TType.cs +40 -0
  232. data/vendor/gems/thrift/lib/csharp/src/Server/TServer.cs +135 -0
  233. data/vendor/gems/thrift/lib/csharp/src/Server/TSimpleServer.cs +148 -0
  234. data/vendor/gems/thrift/lib/csharp/src/Server/TThreadPoolServer.cs +186 -0
  235. data/vendor/gems/thrift/lib/csharp/src/Server/TThreadedServer.cs +234 -0
  236. data/vendor/gems/thrift/lib/csharp/src/TApplicationException.cs +131 -0
  237. data/vendor/gems/thrift/lib/csharp/src/TProcessor.cs +29 -0
  238. data/vendor/gems/thrift/lib/csharp/src/Thrift.csproj +73 -0
  239. data/vendor/gems/thrift/lib/csharp/src/Thrift.sln +35 -0
  240. data/vendor/gems/thrift/lib/csharp/src/Transport/TBufferedTransport.cs +100 -0
  241. data/vendor/gems/thrift/lib/csharp/src/Transport/TServerSocket.cs +157 -0
  242. data/vendor/gems/thrift/lib/csharp/src/Transport/TServerTransport.cs +39 -0
  243. data/vendor/gems/thrift/lib/csharp/src/Transport/TSocket.cs +144 -0
  244. data/vendor/gems/thrift/lib/csharp/src/Transport/TStreamTransport.cs +103 -0
  245. data/vendor/gems/thrift/lib/csharp/src/Transport/TTransport.cs +66 -0
  246. data/vendor/gems/thrift/lib/csharp/src/Transport/TTransportException.cs +64 -0
  247. data/vendor/gems/thrift/lib/csharp/src/Transport/TTransportFactory.cs +38 -0
  248. data/vendor/gems/thrift/lib/erl/Makefile +37 -0
  249. data/vendor/gems/thrift/lib/erl/README +56 -0
  250. data/vendor/gems/thrift/lib/erl/build/beamver +59 -0
  251. data/vendor/gems/thrift/lib/erl/build/buildtargets.mk +15 -0
  252. data/vendor/gems/thrift/lib/erl/build/colors.mk +24 -0
  253. data/vendor/gems/thrift/lib/erl/build/docs.mk +12 -0
  254. data/vendor/gems/thrift/lib/erl/build/mime.types +98 -0
  255. data/vendor/gems/thrift/lib/erl/build/otp.mk +146 -0
  256. data/vendor/gems/thrift/lib/erl/build/otp_subdir.mk +85 -0
  257. data/vendor/gems/thrift/lib/erl/build/raw_test.mk +29 -0
  258. data/vendor/gems/thrift/lib/erl/include/thrift_constants.hrl +54 -0
  259. data/vendor/gems/thrift/lib/erl/include/thrift_protocol.hrl +31 -0
  260. data/vendor/gems/thrift/lib/erl/src/Makefile +116 -0
  261. data/vendor/gems/thrift/lib/erl/src/test_handler.erl +26 -0
  262. data/vendor/gems/thrift/lib/erl/src/test_service.erl +29 -0
  263. data/vendor/gems/thrift/lib/erl/src/thrift.app.src +44 -0
  264. data/vendor/gems/thrift/lib/erl/src/thrift.appup.src +1 -0
  265. data/vendor/gems/thrift/lib/erl/src/thrift_base64_transport.erl +64 -0
  266. data/vendor/gems/thrift/lib/erl/src/thrift_binary_protocol.erl +325 -0
  267. data/vendor/gems/thrift/lib/erl/src/thrift_buffered_transport.erl +180 -0
  268. data/vendor/gems/thrift/lib/erl/src/thrift_client.erl +384 -0
  269. data/vendor/gems/thrift/lib/erl/src/thrift_disk_log_transport.erl +118 -0
  270. data/vendor/gems/thrift/lib/erl/src/thrift_file_transport.erl +87 -0
  271. data/vendor/gems/thrift/lib/erl/src/thrift_framed_transport.erl +208 -0
  272. data/vendor/gems/thrift/lib/erl/src/thrift_http_transport.erl +199 -0
  273. data/vendor/gems/thrift/lib/erl/src/thrift_memory_buffer.erl +164 -0
  274. data/vendor/gems/thrift/lib/erl/src/thrift_processor.erl +188 -0
  275. data/vendor/gems/thrift/lib/erl/src/thrift_protocol.erl +356 -0
  276. data/vendor/gems/thrift/lib/erl/src/thrift_server.erl +183 -0
  277. data/vendor/gems/thrift/lib/erl/src/thrift_service.erl +25 -0
  278. data/vendor/gems/thrift/lib/erl/src/thrift_socket_server.erl +249 -0
  279. data/vendor/gems/thrift/lib/erl/src/thrift_socket_transport.erl +119 -0
  280. data/vendor/gems/thrift/lib/erl/src/thrift_transport.erl +57 -0
  281. data/vendor/gems/thrift/lib/erl/vsn.mk +1 -0
  282. data/vendor/gems/thrift/lib/hs/README +82 -0
  283. data/vendor/gems/thrift/lib/hs/Setup.lhs +23 -0
  284. data/vendor/gems/thrift/lib/hs/TODO +2 -0
  285. data/vendor/gems/thrift/lib/hs/Thrift.cabal +20 -0
  286. data/vendor/gems/thrift/lib/hs/src/Thrift.hs +111 -0
  287. data/vendor/gems/thrift/lib/hs/src/Thrift/Protocol.hs +191 -0
  288. data/vendor/gems/thrift/lib/hs/src/Thrift/Protocol/Binary.hs +147 -0
  289. data/vendor/gems/thrift/lib/hs/src/Thrift/Server.hs +65 -0
  290. data/vendor/gems/thrift/lib/hs/src/Thrift/Transport.hs +60 -0
  291. data/vendor/gems/thrift/lib/hs/src/Thrift/Transport/Handle.hs +58 -0
  292. data/vendor/gems/thrift/lib/java/Makefile.am +38 -0
  293. data/vendor/gems/thrift/lib/java/README +43 -0
  294. data/vendor/gems/thrift/lib/java/build.xml +195 -0
  295. data/vendor/gems/thrift/lib/java/ivy.xml +8 -0
  296. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/IntRangeSet.java +171 -0
  297. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TApplicationException.java +123 -0
  298. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TBase.java +66 -0
  299. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TBaseHelper.java +102 -0
  300. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TByteArrayOutputStream.java +46 -0
  301. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TDeserializer.java +94 -0
  302. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TException.java +45 -0
  303. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TFieldRequirementType.java +30 -0
  304. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TProcessor.java +32 -0
  305. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TProcessorFactory.java +39 -0
  306. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TSerializer.java +110 -0
  307. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/meta_data/FieldMetaData.java +69 -0
  308. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/meta_data/FieldValueMetaData.java +42 -0
  309. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/meta_data/ListMetaData.java +29 -0
  310. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/meta_data/MapMetaData.java +31 -0
  311. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/meta_data/SetMetaData.java +29 -0
  312. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/meta_data/StructMetaData.java +31 -0
  313. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TBase64Utils.java +128 -0
  314. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TBinaryProtocol.java +331 -0
  315. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TCompactProtocol.java +741 -0
  316. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TField.java +48 -0
  317. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TJSONProtocol.java +927 -0
  318. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TList.java +38 -0
  319. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TMap.java +40 -0
  320. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TMessage.java +48 -0
  321. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TMessageType.java +31 -0
  322. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TProtocol.java +146 -0
  323. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TProtocolException.java +81 -0
  324. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TProtocolFactory.java +30 -0
  325. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TProtocolUtil.java +158 -0
  326. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TSet.java +42 -0
  327. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TSimpleJSONProtocol.java +384 -0
  328. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TStruct.java +36 -0
  329. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TType.java +40 -0
  330. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/server/THsHaServer.java +304 -0
  331. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/server/TNonblockingServer.java +772 -0
  332. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/server/TServer.java +126 -0
  333. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/server/TSimpleServer.java +145 -0
  334. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/server/TThreadPoolServer.java +271 -0
  335. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/transport/TFramedTransport.java +126 -0
  336. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/transport/THttpClient.java +157 -0
  337. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/transport/TIOStreamTransport.java +159 -0
  338. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/transport/TMemoryBuffer.java +98 -0
  339. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/transport/TNonblockingServerSocket.java +160 -0
  340. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/transport/TNonblockingServerTransport.java +31 -0
  341. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/transport/TNonblockingSocket.java +213 -0
  342. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/transport/TNonblockingTransport.java +31 -0
  343. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/transport/TServerSocket.java +145 -0
  344. metadata +348 -37
  345. data/vendor/gems/trollop/FAQ.txt +0 -35
  346. data/vendor/gems/trollop/History.txt +0 -84
  347. data/vendor/gems/trollop/Manifest.txt +0 -7
  348. data/vendor/gems/trollop/README.txt +0 -38
  349. data/vendor/gems/trollop/Rakefile +0 -36
  350. data/vendor/gems/trollop/lib/trollop.rb +0 -695
  351. data/vendor/gems/trollop/release-script.txt +0 -13
  352. data/vendor/gems/trollop/test/test_trollop.rb +0 -957
  353. data/vendor/gems/trollop/www/index.html +0 -167
@@ -0,0 +1,126 @@
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
+ package org.apache.thrift.server;
21
+
22
+ import org.apache.thrift.TProcessorFactory;
23
+ import org.apache.thrift.protocol.TBinaryProtocol;
24
+ import org.apache.thrift.protocol.TProtocolFactory;
25
+ import org.apache.thrift.transport.TServerTransport;
26
+ import org.apache.thrift.transport.TTransportFactory;
27
+
28
+ /**
29
+ * Generic interface for a Thrift server.
30
+ *
31
+ */
32
+ public abstract class TServer {
33
+
34
+ /**
35
+ * Core processor
36
+ */
37
+ protected TProcessorFactory processorFactory_;
38
+
39
+ /**
40
+ * Server transport
41
+ */
42
+ protected TServerTransport serverTransport_;
43
+
44
+ /**
45
+ * Input Transport Factory
46
+ */
47
+ protected TTransportFactory inputTransportFactory_;
48
+
49
+ /**
50
+ * Output Transport Factory
51
+ */
52
+ protected TTransportFactory outputTransportFactory_;
53
+
54
+ /**
55
+ * Input Protocol Factory
56
+ */
57
+ protected TProtocolFactory inputProtocolFactory_;
58
+
59
+ /**
60
+ * Output Protocol Factory
61
+ */
62
+ protected TProtocolFactory outputProtocolFactory_;
63
+
64
+ /**
65
+ * Default constructors.
66
+ */
67
+
68
+ protected TServer(TProcessorFactory processorFactory,
69
+ TServerTransport serverTransport) {
70
+ this(processorFactory,
71
+ serverTransport,
72
+ new TTransportFactory(),
73
+ new TTransportFactory(),
74
+ new TBinaryProtocol.Factory(),
75
+ new TBinaryProtocol.Factory());
76
+ }
77
+
78
+ protected TServer(TProcessorFactory processorFactory,
79
+ TServerTransport serverTransport,
80
+ TTransportFactory transportFactory) {
81
+ this(processorFactory,
82
+ serverTransport,
83
+ transportFactory,
84
+ transportFactory,
85
+ new TBinaryProtocol.Factory(),
86
+ new TBinaryProtocol.Factory());
87
+ }
88
+
89
+ protected TServer(TProcessorFactory processorFactory,
90
+ TServerTransport serverTransport,
91
+ TTransportFactory transportFactory,
92
+ TProtocolFactory protocolFactory) {
93
+ this(processorFactory,
94
+ serverTransport,
95
+ transportFactory,
96
+ transportFactory,
97
+ protocolFactory,
98
+ protocolFactory);
99
+ }
100
+
101
+ protected TServer(TProcessorFactory processorFactory,
102
+ TServerTransport serverTransport,
103
+ TTransportFactory inputTransportFactory,
104
+ TTransportFactory outputTransportFactory,
105
+ TProtocolFactory inputProtocolFactory,
106
+ TProtocolFactory outputProtocolFactory) {
107
+ processorFactory_ = processorFactory;
108
+ serverTransport_ = serverTransport;
109
+ inputTransportFactory_ = inputTransportFactory;
110
+ outputTransportFactory_ = outputTransportFactory;
111
+ inputProtocolFactory_ = inputProtocolFactory;
112
+ outputProtocolFactory_ = outputProtocolFactory;
113
+ }
114
+
115
+ /**
116
+ * The run method fires up the server and gets things going.
117
+ */
118
+ public abstract void serve();
119
+
120
+ /**
121
+ * Stop the server. This is optional on a per-implementation basis. Not
122
+ * all servers are required to be cleanly stoppable.
123
+ */
124
+ public void stop() {}
125
+
126
+ }
@@ -0,0 +1,145 @@
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
+ package org.apache.thrift.server;
21
+
22
+ import org.apache.thrift.TException;
23
+ import org.apache.thrift.TProcessor;
24
+ import org.apache.thrift.TProcessorFactory;
25
+ import org.apache.thrift.protocol.TProtocol;
26
+ import org.apache.thrift.protocol.TProtocolFactory;
27
+ import org.apache.thrift.transport.TServerTransport;
28
+ import org.apache.thrift.transport.TTransport;
29
+ import org.apache.thrift.transport.TTransportFactory;
30
+ import org.apache.thrift.transport.TTransportException;
31
+
32
+ import org.slf4j.Logger;
33
+ import org.slf4j.LoggerFactory;
34
+
35
+ /**
36
+ * Simple singlethreaded server for testing.
37
+ *
38
+ */
39
+ public class TSimpleServer extends TServer {
40
+
41
+ private static final Logger LOGGER = LoggerFactory.getLogger(TSimpleServer.class.getName());
42
+
43
+ private boolean stopped_ = false;
44
+
45
+ public TSimpleServer(TProcessor processor,
46
+ TServerTransport serverTransport) {
47
+ super(new TProcessorFactory(processor), serverTransport);
48
+ }
49
+
50
+ public TSimpleServer(TProcessor processor,
51
+ TServerTransport serverTransport,
52
+ TTransportFactory transportFactory,
53
+ TProtocolFactory protocolFactory) {
54
+ super(new TProcessorFactory(processor), serverTransport, transportFactory, protocolFactory);
55
+ }
56
+
57
+ public TSimpleServer(TProcessor processor,
58
+ TServerTransport serverTransport,
59
+ TTransportFactory inputTransportFactory,
60
+ TTransportFactory outputTransportFactory,
61
+ TProtocolFactory inputProtocolFactory,
62
+ TProtocolFactory outputProtocolFactory) {
63
+ super(new TProcessorFactory(processor), serverTransport,
64
+ inputTransportFactory, outputTransportFactory,
65
+ inputProtocolFactory, outputProtocolFactory);
66
+ }
67
+
68
+ public TSimpleServer(TProcessorFactory processorFactory,
69
+ TServerTransport serverTransport) {
70
+ super(processorFactory, serverTransport);
71
+ }
72
+
73
+ public TSimpleServer(TProcessorFactory processorFactory,
74
+ TServerTransport serverTransport,
75
+ TTransportFactory transportFactory,
76
+ TProtocolFactory protocolFactory) {
77
+ super(processorFactory, serverTransport, transportFactory, protocolFactory);
78
+ }
79
+
80
+ public TSimpleServer(TProcessorFactory processorFactory,
81
+ TServerTransport serverTransport,
82
+ TTransportFactory inputTransportFactory,
83
+ TTransportFactory outputTransportFactory,
84
+ TProtocolFactory inputProtocolFactory,
85
+ TProtocolFactory outputProtocolFactory) {
86
+ super(processorFactory, serverTransport,
87
+ inputTransportFactory, outputTransportFactory,
88
+ inputProtocolFactory, outputProtocolFactory);
89
+ }
90
+
91
+
92
+ public void serve() {
93
+ stopped_ = false;
94
+ try {
95
+ serverTransport_.listen();
96
+ } catch (TTransportException ttx) {
97
+ LOGGER.error("Error occurred during listening.", ttx);
98
+ return;
99
+ }
100
+
101
+ while (!stopped_) {
102
+ TTransport client = null;
103
+ TProcessor processor = null;
104
+ TTransport inputTransport = null;
105
+ TTransport outputTransport = null;
106
+ TProtocol inputProtocol = null;
107
+ TProtocol outputProtocol = null;
108
+ try {
109
+ client = serverTransport_.accept();
110
+ if (client != null) {
111
+ processor = processorFactory_.getProcessor(client);
112
+ inputTransport = inputTransportFactory_.getTransport(client);
113
+ outputTransport = outputTransportFactory_.getTransport(client);
114
+ inputProtocol = inputProtocolFactory_.getProtocol(inputTransport);
115
+ outputProtocol = outputProtocolFactory_.getProtocol(outputTransport);
116
+ while (processor.process(inputProtocol, outputProtocol)) {}
117
+ }
118
+ } catch (TTransportException ttx) {
119
+ // Client died, just move on
120
+ } catch (TException tx) {
121
+ if (!stopped_) {
122
+ LOGGER.error("Thrift error occurred during processing of message.", tx);
123
+ }
124
+ } catch (Exception x) {
125
+ if (!stopped_) {
126
+ LOGGER.error("Error occurred during processing of message.", x);
127
+ }
128
+ }
129
+
130
+ if (inputTransport != null) {
131
+ inputTransport.close();
132
+ }
133
+
134
+ if (outputTransport != null) {
135
+ outputTransport.close();
136
+ }
137
+
138
+ }
139
+ }
140
+
141
+ public void stop() {
142
+ stopped_ = true;
143
+ serverTransport_.interrupt();
144
+ }
145
+ }
@@ -0,0 +1,271 @@
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
+ package org.apache.thrift.server;
21
+
22
+ import org.apache.thrift.TException;
23
+ import org.apache.thrift.TProcessor;
24
+ import org.apache.thrift.TProcessorFactory;
25
+ import org.apache.thrift.protocol.TProtocol;
26
+ import org.apache.thrift.protocol.TProtocolFactory;
27
+ import org.apache.thrift.protocol.TBinaryProtocol;
28
+ import org.apache.thrift.transport.TServerTransport;
29
+ import org.apache.thrift.transport.TTransport;
30
+ import org.apache.thrift.transport.TTransportException;
31
+ import org.apache.thrift.transport.TTransportFactory;
32
+
33
+ import org.slf4j.Logger;
34
+ import org.slf4j.LoggerFactory;
35
+
36
+ import java.util.concurrent.ExecutorService;
37
+ import java.util.concurrent.Executors;
38
+ import java.util.concurrent.SynchronousQueue;
39
+ import java.util.concurrent.ThreadPoolExecutor;
40
+ import java.util.concurrent.TimeUnit;
41
+
42
+
43
+ /**
44
+ * Server which uses Java's built in ThreadPool management to spawn off
45
+ * a worker pool that
46
+ *
47
+ */
48
+ public class TThreadPoolServer extends TServer {
49
+
50
+ private static final Logger LOGGER = LoggerFactory.getLogger(TThreadPoolServer.class.getName());
51
+
52
+ // Executor service for handling client connections
53
+ private ExecutorService executorService_;
54
+
55
+ // Flag for stopping the server
56
+ private volatile boolean stopped_;
57
+
58
+ // Server options
59
+ private Options options_;
60
+
61
+ // Customizable server options
62
+ public static class Options {
63
+ public int minWorkerThreads = 5;
64
+ public int maxWorkerThreads = Integer.MAX_VALUE;
65
+ public int stopTimeoutVal = 60;
66
+ public TimeUnit stopTimeoutUnit = TimeUnit.SECONDS;
67
+ }
68
+
69
+ public TThreadPoolServer(TProcessor processor,
70
+ TServerTransport serverTransport) {
71
+ this(processor, serverTransport,
72
+ new TTransportFactory(), new TTransportFactory(),
73
+ new TBinaryProtocol.Factory(), new TBinaryProtocol.Factory());
74
+ }
75
+
76
+ public TThreadPoolServer(TProcessorFactory processorFactory,
77
+ TServerTransport serverTransport) {
78
+ this(processorFactory, serverTransport,
79
+ new TTransportFactory(), new TTransportFactory(),
80
+ new TBinaryProtocol.Factory(), new TBinaryProtocol.Factory());
81
+ }
82
+
83
+ public TThreadPoolServer(TProcessor processor,
84
+ TServerTransport serverTransport,
85
+ TProtocolFactory protocolFactory) {
86
+ this(processor, serverTransport,
87
+ new TTransportFactory(), new TTransportFactory(),
88
+ protocolFactory, protocolFactory);
89
+ }
90
+
91
+ public TThreadPoolServer(TProcessor processor,
92
+ TServerTransport serverTransport,
93
+ TTransportFactory transportFactory,
94
+ TProtocolFactory protocolFactory) {
95
+ this(processor, serverTransport,
96
+ transportFactory, transportFactory,
97
+ protocolFactory, protocolFactory);
98
+ }
99
+
100
+ public TThreadPoolServer(TProcessorFactory processorFactory,
101
+ TServerTransport serverTransport,
102
+ TTransportFactory transportFactory,
103
+ TProtocolFactory protocolFactory) {
104
+ this(processorFactory, serverTransport,
105
+ transportFactory, transportFactory,
106
+ protocolFactory, protocolFactory);
107
+ }
108
+
109
+ public TThreadPoolServer(TProcessor processor,
110
+ TServerTransport serverTransport,
111
+ TTransportFactory inputTransportFactory,
112
+ TTransportFactory outputTransportFactory,
113
+ TProtocolFactory inputProtocolFactory,
114
+ TProtocolFactory outputProtocolFactory) {
115
+ this(new TProcessorFactory(processor), serverTransport,
116
+ inputTransportFactory, outputTransportFactory,
117
+ inputProtocolFactory, outputProtocolFactory);
118
+ }
119
+
120
+ public TThreadPoolServer(TProcessorFactory processorFactory,
121
+ TServerTransport serverTransport,
122
+ TTransportFactory inputTransportFactory,
123
+ TTransportFactory outputTransportFactory,
124
+ TProtocolFactory inputProtocolFactory,
125
+ TProtocolFactory outputProtocolFactory) {
126
+ super(processorFactory, serverTransport,
127
+ inputTransportFactory, outputTransportFactory,
128
+ inputProtocolFactory, outputProtocolFactory);
129
+ options_ = new Options();
130
+ executorService_ = Executors.newCachedThreadPool();
131
+ }
132
+
133
+ public TThreadPoolServer(TProcessor processor,
134
+ TServerTransport serverTransport,
135
+ TTransportFactory inputTransportFactory,
136
+ TTransportFactory outputTransportFactory,
137
+ TProtocolFactory inputProtocolFactory,
138
+ TProtocolFactory outputProtocolFactory,
139
+ Options options) {
140
+ this(new TProcessorFactory(processor), serverTransport,
141
+ inputTransportFactory, outputTransportFactory,
142
+ inputProtocolFactory, outputProtocolFactory,
143
+ options);
144
+ }
145
+
146
+ public TThreadPoolServer(TProcessorFactory processorFactory,
147
+ TServerTransport serverTransport,
148
+ TTransportFactory inputTransportFactory,
149
+ TTransportFactory outputTransportFactory,
150
+ TProtocolFactory inputProtocolFactory,
151
+ TProtocolFactory outputProtocolFactory,
152
+ Options options) {
153
+ super(processorFactory, serverTransport,
154
+ inputTransportFactory, outputTransportFactory,
155
+ inputProtocolFactory, outputProtocolFactory);
156
+
157
+ executorService_ = null;
158
+
159
+ SynchronousQueue<Runnable> executorQueue =
160
+ new SynchronousQueue<Runnable>();
161
+
162
+ executorService_ = new ThreadPoolExecutor(options.minWorkerThreads,
163
+ options.maxWorkerThreads,
164
+ 60,
165
+ TimeUnit.SECONDS,
166
+ executorQueue);
167
+
168
+ options_ = options;
169
+ }
170
+
171
+
172
+ public void serve() {
173
+ try {
174
+ serverTransport_.listen();
175
+ } catch (TTransportException ttx) {
176
+ LOGGER.error("Error occurred during listening.", ttx);
177
+ return;
178
+ }
179
+
180
+ stopped_ = false;
181
+ while (!stopped_) {
182
+ int failureCount = 0;
183
+ try {
184
+ TTransport client = serverTransport_.accept();
185
+ WorkerProcess wp = new WorkerProcess(client);
186
+ executorService_.execute(wp);
187
+ } catch (TTransportException ttx) {
188
+ if (!stopped_) {
189
+ ++failureCount;
190
+ LOGGER.warn("Transport error occurred during acceptance of message.", ttx);
191
+ }
192
+ }
193
+ }
194
+
195
+ executorService_.shutdown();
196
+
197
+ // Loop until awaitTermination finally does return without a interrupted
198
+ // exception. If we don't do this, then we'll shut down prematurely. We want
199
+ // to let the executorService clear it's task queue, closing client sockets
200
+ // appropriately.
201
+ long timeoutMS = options_.stopTimeoutUnit.toMillis(options_.stopTimeoutVal);
202
+ long now = System.currentTimeMillis();
203
+ while (timeoutMS >= 0) {
204
+ try {
205
+ executorService_.awaitTermination(timeoutMS, TimeUnit.MILLISECONDS);
206
+ break;
207
+ } catch (InterruptedException ix) {
208
+ long newnow = System.currentTimeMillis();
209
+ timeoutMS -= (newnow - now);
210
+ now = newnow;
211
+ }
212
+ }
213
+ }
214
+
215
+ public void stop() {
216
+ stopped_ = true;
217
+ serverTransport_.interrupt();
218
+ }
219
+
220
+ private class WorkerProcess implements Runnable {
221
+
222
+ /**
223
+ * Client that this services.
224
+ */
225
+ private TTransport client_;
226
+
227
+ /**
228
+ * Default constructor.
229
+ *
230
+ * @param client Transport to process
231
+ */
232
+ private WorkerProcess(TTransport client) {
233
+ client_ = client;
234
+ }
235
+
236
+ /**
237
+ * Loops on processing a client forever
238
+ */
239
+ public void run() {
240
+ TProcessor processor = null;
241
+ TTransport inputTransport = null;
242
+ TTransport outputTransport = null;
243
+ TProtocol inputProtocol = null;
244
+ TProtocol outputProtocol = null;
245
+ try {
246
+ processor = processorFactory_.getProcessor(client_);
247
+ inputTransport = inputTransportFactory_.getTransport(client_);
248
+ outputTransport = outputTransportFactory_.getTransport(client_);
249
+ inputProtocol = inputProtocolFactory_.getProtocol(inputTransport);
250
+ outputProtocol = outputProtocolFactory_.getProtocol(outputTransport);
251
+ // we check stopped_ first to make sure we're not supposed to be shutting
252
+ // down. this is necessary for graceful shutdown.
253
+ while (!stopped_ && processor.process(inputProtocol, outputProtocol)) {}
254
+ } catch (TTransportException ttx) {
255
+ // Assume the client died and continue silently
256
+ } catch (TException tx) {
257
+ LOGGER.error("Thrift error occurred during processing of message.", tx);
258
+ } catch (Exception x) {
259
+ LOGGER.error("Error occurred during processing of message.", x);
260
+ }
261
+
262
+ if (inputTransport != null) {
263
+ inputTransport.close();
264
+ }
265
+
266
+ if (outputTransport != null) {
267
+ outputTransport.close();
268
+ }
269
+ }
270
+ }
271
+ }