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,340 @@
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_PROTOCOL_TJSONPROTOCOL_H_
21
+ #define _THRIFT_PROTOCOL_TJSONPROTOCOL_H_ 1
22
+
23
+ #include "TProtocol.h"
24
+
25
+ #include <stack>
26
+
27
+ namespace apache { namespace thrift { namespace protocol {
28
+
29
+ // Forward declaration
30
+ class TJSONContext;
31
+
32
+ /**
33
+ * JSON protocol for Thrift.
34
+ *
35
+ * Implements a protocol which uses JSON as the wire-format.
36
+ *
37
+ * Thrift types are represented as described below:
38
+ *
39
+ * 1. Every Thrift integer type is represented as a JSON number.
40
+ *
41
+ * 2. Thrift doubles are represented as JSON numbers. Some special values are
42
+ * represented as strings:
43
+ * a. "NaN" for not-a-number values
44
+ * b. "Infinity" for postive infinity
45
+ * c. "-Infinity" for negative infinity
46
+ *
47
+ * 3. Thrift string values are emitted as JSON strings, with appropriate
48
+ * escaping.
49
+ *
50
+ * 4. Thrift binary values are encoded into Base64 and emitted as JSON strings.
51
+ * The readBinary() method is written such that it will properly skip if
52
+ * called on a Thrift string (although it will decode garbage data).
53
+ *
54
+ * 5. Thrift structs are represented as JSON objects, with the field ID as the
55
+ * key, and the field value represented as a JSON object with a single
56
+ * key-value pair. The key is a short string identifier for that type,
57
+ * followed by the value. The valid type identifiers are: "tf" for bool,
58
+ * "i8" for byte, "i16" for 16-bit integer, "i32" for 32-bit integer, "i64"
59
+ * for 64-bit integer, "dbl" for double-precision loating point, "str" for
60
+ * string (including binary), "rec" for struct ("records"), "map" for map,
61
+ * "lst" for list, "set" for set.
62
+ *
63
+ * 6. Thrift lists and sets are represented as JSON arrays, with the first
64
+ * element of the JSON array being the string identifier for the Thrift
65
+ * element type and the second element of the JSON array being the count of
66
+ * the Thrift elements. The Thrift elements then follow.
67
+ *
68
+ * 7. Thrift maps are represented as JSON arrays, with the first two elements
69
+ * of the JSON array being the string identifiers for the Thrift key type
70
+ * and value type, followed by the count of the Thrift pairs, followed by a
71
+ * JSON object containing the key-value pairs. Note that JSON keys can only
72
+ * be strings, which means that the key type of the Thrift map should be
73
+ * restricted to numeric or string types -- in the case of numerics, they
74
+ * are serialized as strings.
75
+ *
76
+ * 8. Thrift messages are represented as JSON arrays, with the protocol
77
+ * version #, the message name, the message type, and the sequence ID as
78
+ * the first 4 elements.
79
+ *
80
+ * More discussion of the double handling is probably warranted. The aim of
81
+ * the current implementation is to match as closely as possible the behavior
82
+ * of Java's Double.toString(), which has no precision loss. Implementors in
83
+ * other languages should strive to achieve that where possible. I have not
84
+ * yet verified whether boost:lexical_cast, which is doing that work for me in
85
+ * C++, loses any precision, but I am leaving this as a future improvement. I
86
+ * may try to provide a C component for this, so that other languages could
87
+ * bind to the same underlying implementation for maximum consistency.
88
+ *
89
+ * Note further that JavaScript itself is not capable of representing
90
+ * floating point infinities -- presumably when we have a JavaScript Thrift
91
+ * client, this would mean that infinities get converted to not-a-number in
92
+ * transmission. I don't know of any work-around for this issue.
93
+ *
94
+ */
95
+ class TJSONProtocol : public TProtocol {
96
+ public:
97
+
98
+ TJSONProtocol(boost::shared_ptr<TTransport> ptrans);
99
+
100
+ ~TJSONProtocol();
101
+
102
+ private:
103
+
104
+ void pushContext(boost::shared_ptr<TJSONContext> c);
105
+
106
+ void popContext();
107
+
108
+ uint32_t writeJSONEscapeChar(uint8_t ch);
109
+
110
+ uint32_t writeJSONChar(uint8_t ch);
111
+
112
+ uint32_t writeJSONString(const std::string &str);
113
+
114
+ uint32_t writeJSONBase64(const std::string &str);
115
+
116
+ template <typename NumberType>
117
+ uint32_t writeJSONInteger(NumberType num);
118
+
119
+ uint32_t writeJSONDouble(double num);
120
+
121
+ uint32_t writeJSONObjectStart() ;
122
+
123
+ uint32_t writeJSONObjectEnd();
124
+
125
+ uint32_t writeJSONArrayStart();
126
+
127
+ uint32_t writeJSONArrayEnd();
128
+
129
+ uint32_t readJSONSyntaxChar(uint8_t ch);
130
+
131
+ uint32_t readJSONEscapeChar(uint8_t *out);
132
+
133
+ uint32_t readJSONString(std::string &str, bool skipContext = false);
134
+
135
+ uint32_t readJSONBase64(std::string &str);
136
+
137
+ uint32_t readJSONNumericChars(std::string &str);
138
+
139
+ template <typename NumberType>
140
+ uint32_t readJSONInteger(NumberType &num);
141
+
142
+ uint32_t readJSONDouble(double &num);
143
+
144
+ uint32_t readJSONObjectStart();
145
+
146
+ uint32_t readJSONObjectEnd();
147
+
148
+ uint32_t readJSONArrayStart();
149
+
150
+ uint32_t readJSONArrayEnd();
151
+
152
+ public:
153
+
154
+ /**
155
+ * Writing functions.
156
+ */
157
+
158
+ uint32_t writeMessageBegin(const std::string& name,
159
+ const TMessageType messageType,
160
+ const int32_t seqid);
161
+
162
+ uint32_t writeMessageEnd();
163
+
164
+ uint32_t writeStructBegin(const char* name);
165
+
166
+ uint32_t writeStructEnd();
167
+
168
+ uint32_t writeFieldBegin(const char* name,
169
+ const TType fieldType,
170
+ const int16_t fieldId);
171
+
172
+ uint32_t writeFieldEnd();
173
+
174
+ uint32_t writeFieldStop();
175
+
176
+ uint32_t writeMapBegin(const TType keyType,
177
+ const TType valType,
178
+ const uint32_t size);
179
+
180
+ uint32_t writeMapEnd();
181
+
182
+ uint32_t writeListBegin(const TType elemType,
183
+ const uint32_t size);
184
+
185
+ uint32_t writeListEnd();
186
+
187
+ uint32_t writeSetBegin(const TType elemType,
188
+ const uint32_t size);
189
+
190
+ uint32_t writeSetEnd();
191
+
192
+ uint32_t writeBool(const bool value);
193
+
194
+ uint32_t writeByte(const int8_t byte);
195
+
196
+ uint32_t writeI16(const int16_t i16);
197
+
198
+ uint32_t writeI32(const int32_t i32);
199
+
200
+ uint32_t writeI64(const int64_t i64);
201
+
202
+ uint32_t writeDouble(const double dub);
203
+
204
+ uint32_t writeString(const std::string& str);
205
+
206
+ uint32_t writeBinary(const std::string& str);
207
+
208
+ /**
209
+ * Reading functions
210
+ */
211
+
212
+ uint32_t readMessageBegin(std::string& name,
213
+ TMessageType& messageType,
214
+ int32_t& seqid);
215
+
216
+ uint32_t readMessageEnd();
217
+
218
+ uint32_t readStructBegin(std::string& name);
219
+
220
+ uint32_t readStructEnd();
221
+
222
+ uint32_t readFieldBegin(std::string& name,
223
+ TType& fieldType,
224
+ int16_t& fieldId);
225
+
226
+ uint32_t readFieldEnd();
227
+
228
+ uint32_t readMapBegin(TType& keyType,
229
+ TType& valType,
230
+ uint32_t& size);
231
+
232
+ uint32_t readMapEnd();
233
+
234
+ uint32_t readListBegin(TType& elemType,
235
+ uint32_t& size);
236
+
237
+ uint32_t readListEnd();
238
+
239
+ uint32_t readSetBegin(TType& elemType,
240
+ uint32_t& size);
241
+
242
+ uint32_t readSetEnd();
243
+
244
+ uint32_t readBool(bool& value);
245
+
246
+ uint32_t readByte(int8_t& byte);
247
+
248
+ uint32_t readI16(int16_t& i16);
249
+
250
+ uint32_t readI32(int32_t& i32);
251
+
252
+ uint32_t readI64(int64_t& i64);
253
+
254
+ uint32_t readDouble(double& dub);
255
+
256
+ uint32_t readString(std::string& str);
257
+
258
+ uint32_t readBinary(std::string& str);
259
+
260
+ class LookaheadReader {
261
+
262
+ public:
263
+
264
+ LookaheadReader(TTransport &trans) :
265
+ trans_(&trans),
266
+ hasData_(false) {
267
+ }
268
+
269
+ uint8_t read() {
270
+ if (hasData_) {
271
+ hasData_ = false;
272
+ }
273
+ else {
274
+ trans_->readAll(&data_, 1);
275
+ }
276
+ return data_;
277
+ }
278
+
279
+ uint8_t peek() {
280
+ if (!hasData_) {
281
+ trans_->readAll(&data_, 1);
282
+ }
283
+ hasData_ = true;
284
+ return data_;
285
+ }
286
+
287
+ private:
288
+ TTransport *trans_;
289
+ bool hasData_;
290
+ uint8_t data_;
291
+ };
292
+
293
+ private:
294
+
295
+ std::stack<boost::shared_ptr<TJSONContext> > contexts_;
296
+ boost::shared_ptr<TJSONContext> context_;
297
+ LookaheadReader reader_;
298
+ };
299
+
300
+ /**
301
+ * Constructs input and output protocol objects given transports.
302
+ */
303
+ class TJSONProtocolFactory : public TProtocolFactory {
304
+ public:
305
+ TJSONProtocolFactory() {}
306
+
307
+ virtual ~TJSONProtocolFactory() {}
308
+
309
+ boost::shared_ptr<TProtocol> getProtocol(boost::shared_ptr<TTransport> trans) {
310
+ return boost::shared_ptr<TProtocol>(new TJSONProtocol(trans));
311
+ }
312
+ };
313
+
314
+ }}} // apache::thrift::protocol
315
+
316
+
317
+ // TODO(dreiss): Move part of ThriftJSONString into a .cpp file and remove this.
318
+ #include <transport/TBufferTransports.h>
319
+
320
+ namespace apache { namespace thrift {
321
+
322
+ template<typename ThriftStruct>
323
+ std::string ThriftJSONString(const ThriftStruct& ts) {
324
+ using namespace apache::thrift::transport;
325
+ using namespace apache::thrift::protocol;
326
+ TMemoryBuffer* buffer = new TMemoryBuffer;
327
+ boost::shared_ptr<TTransport> trans(buffer);
328
+ TJSONProtocol protocol(trans);
329
+
330
+ ts.write(&protocol);
331
+
332
+ uint8_t* buf;
333
+ uint32_t size;
334
+ buffer->getBuffer(&buf, &size);
335
+ return std::string((char*)buf, (unsigned int)size);
336
+ }
337
+
338
+ }} // apache::thrift
339
+
340
+ #endif // #define _THRIFT_PROTOCOL_TJSONPROTOCOL_H_ 1
@@ -0,0 +1,304 @@
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_PROTOCOL_TONEWAYPROTOCOL_H_
21
+ #define _THRIFT_PROTOCOL_TONEWAYPROTOCOL_H_ 1
22
+
23
+ #include "TProtocol.h"
24
+
25
+ namespace apache { namespace thrift { namespace protocol {
26
+
27
+ /**
28
+ * Abstract class for implementing a protocol that can only be written,
29
+ * not read.
30
+ *
31
+ */
32
+ class TWriteOnlyProtocol : public TProtocol {
33
+ public:
34
+ /**
35
+ * @param subclass_name The name of the concrete subclass.
36
+ */
37
+ TWriteOnlyProtocol(boost::shared_ptr<TTransport> trans,
38
+ const std::string& subclass_name)
39
+ : TProtocol(trans)
40
+ , subclass_(subclass_name)
41
+ {}
42
+
43
+ // All writing functions remain abstract.
44
+
45
+ /**
46
+ * Reading functions all throw an exception.
47
+ */
48
+
49
+ uint32_t readMessageBegin(std::string& name,
50
+ TMessageType& messageType,
51
+ int32_t& seqid) {
52
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
53
+ subclass_ + " does not support reading (yet).");
54
+ }
55
+
56
+ uint32_t readMessageEnd() {
57
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
58
+ subclass_ + " does not support reading (yet).");
59
+ }
60
+
61
+ uint32_t readStructBegin(std::string& name) {
62
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
63
+ subclass_ + " does not support reading (yet).");
64
+ }
65
+
66
+ uint32_t readStructEnd() {
67
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
68
+ subclass_ + " does not support reading (yet).");
69
+ }
70
+
71
+ uint32_t readFieldBegin(std::string& name,
72
+ TType& fieldType,
73
+ int16_t& fieldId) {
74
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
75
+ subclass_ + " does not support reading (yet).");
76
+ }
77
+
78
+ uint32_t readFieldEnd() {
79
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
80
+ subclass_ + " does not support reading (yet).");
81
+ }
82
+
83
+ uint32_t readMapBegin(TType& keyType,
84
+ TType& valType,
85
+ uint32_t& size) {
86
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
87
+ subclass_ + " does not support reading (yet).");
88
+ }
89
+
90
+ uint32_t readMapEnd() {
91
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
92
+ subclass_ + " does not support reading (yet).");
93
+ }
94
+
95
+ uint32_t readListBegin(TType& elemType,
96
+ uint32_t& size) {
97
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
98
+ subclass_ + " does not support reading (yet).");
99
+ }
100
+
101
+ uint32_t readListEnd() {
102
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
103
+ subclass_ + " does not support reading (yet).");
104
+ }
105
+
106
+ uint32_t readSetBegin(TType& elemType,
107
+ uint32_t& size) {
108
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
109
+ subclass_ + " does not support reading (yet).");
110
+ }
111
+
112
+ uint32_t readSetEnd() {
113
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
114
+ subclass_ + " does not support reading (yet).");
115
+ }
116
+
117
+ uint32_t readBool(bool& value) {
118
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
119
+ subclass_ + " does not support reading (yet).");
120
+ }
121
+
122
+ uint32_t readByte(int8_t& byte) {
123
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
124
+ subclass_ + " does not support reading (yet).");
125
+ }
126
+
127
+ uint32_t readI16(int16_t& i16) {
128
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
129
+ subclass_ + " does not support reading (yet).");
130
+ }
131
+
132
+ uint32_t readI32(int32_t& i32) {
133
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
134
+ subclass_ + " does not support reading (yet).");
135
+ }
136
+
137
+ uint32_t readI64(int64_t& i64) {
138
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
139
+ subclass_ + " does not support reading (yet).");
140
+ }
141
+
142
+ uint32_t readDouble(double& dub) {
143
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
144
+ subclass_ + " does not support reading (yet).");
145
+ }
146
+
147
+ uint32_t readString(std::string& str) {
148
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
149
+ subclass_ + " does not support reading (yet).");
150
+ }
151
+
152
+ uint32_t readBinary(std::string& str) {
153
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
154
+ subclass_ + " does not support reading (yet).");
155
+ }
156
+
157
+ private:
158
+ std::string subclass_;
159
+ };
160
+
161
+
162
+ /**
163
+ * Abstract class for implementing a protocol that can only be read,
164
+ * not written.
165
+ *
166
+ */
167
+ class TReadOnlyProtocol : public TProtocol {
168
+ public:
169
+ /**
170
+ * @param subclass_name The name of the concrete subclass.
171
+ */
172
+ TReadOnlyProtocol(boost::shared_ptr<TTransport> trans,
173
+ const std::string& subclass_name)
174
+ : TProtocol(trans)
175
+ , subclass_(subclass_name)
176
+ {}
177
+
178
+ // All reading functions remain abstract.
179
+
180
+ /**
181
+ * Writing functions all throw an exception.
182
+ */
183
+
184
+ uint32_t writeMessageBegin(const std::string& name,
185
+ const TMessageType messageType,
186
+ const int32_t seqid) {
187
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
188
+ subclass_ + " does not support writing (yet).");
189
+ }
190
+
191
+ uint32_t writeMessageEnd() {
192
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
193
+ subclass_ + " does not support writing (yet).");
194
+ }
195
+
196
+
197
+ uint32_t writeStructBegin(const char* name) {
198
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
199
+ subclass_ + " does not support writing (yet).");
200
+ }
201
+
202
+ uint32_t writeStructEnd() {
203
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
204
+ subclass_ + " does not support writing (yet).");
205
+ }
206
+
207
+ uint32_t writeFieldBegin(const char* name,
208
+ const TType fieldType,
209
+ const int16_t fieldId) {
210
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
211
+ subclass_ + " does not support writing (yet).");
212
+ }
213
+
214
+ uint32_t writeFieldEnd() {
215
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
216
+ subclass_ + " does not support writing (yet).");
217
+ }
218
+
219
+ uint32_t writeFieldStop() {
220
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
221
+ subclass_ + " does not support writing (yet).");
222
+ }
223
+
224
+ uint32_t writeMapBegin(const TType keyType,
225
+ const TType valType,
226
+ const uint32_t size) {
227
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
228
+ subclass_ + " does not support writing (yet).");
229
+ }
230
+
231
+ uint32_t writeMapEnd() {
232
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
233
+ subclass_ + " does not support writing (yet).");
234
+ }
235
+
236
+ uint32_t writeListBegin(const TType elemType,
237
+ const uint32_t size) {
238
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
239
+ subclass_ + " does not support writing (yet).");
240
+ }
241
+
242
+ uint32_t writeListEnd() {
243
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
244
+ subclass_ + " does not support writing (yet).");
245
+ }
246
+
247
+ uint32_t writeSetBegin(const TType elemType,
248
+ const uint32_t size) {
249
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
250
+ subclass_ + " does not support writing (yet).");
251
+ }
252
+
253
+ uint32_t writeSetEnd() {
254
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
255
+ subclass_ + " does not support writing (yet).");
256
+ }
257
+
258
+ uint32_t writeBool(const bool value) {
259
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
260
+ subclass_ + " does not support writing (yet).");
261
+ }
262
+
263
+ uint32_t writeByte(const int8_t byte) {
264
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
265
+ subclass_ + " does not support writing (yet).");
266
+ }
267
+
268
+ uint32_t writeI16(const int16_t i16) {
269
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
270
+ subclass_ + " does not support writing (yet).");
271
+ }
272
+
273
+ uint32_t writeI32(const int32_t i32) {
274
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
275
+ subclass_ + " does not support writing (yet).");
276
+ }
277
+
278
+ uint32_t writeI64(const int64_t i64) {
279
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
280
+ subclass_ + " does not support writing (yet).");
281
+ }
282
+
283
+ uint32_t writeDouble(const double dub) {
284
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
285
+ subclass_ + " does not support writing (yet).");
286
+ }
287
+
288
+ uint32_t writeString(const std::string& str) {
289
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
290
+ subclass_ + " does not support writing (yet).");
291
+ }
292
+
293
+ uint32_t writeBinary(const std::string& str) {
294
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
295
+ subclass_ + " does not support writing (yet).");
296
+ }
297
+
298
+ private:
299
+ std::string subclass_;
300
+ };
301
+
302
+ }}} // apache::thrift::protocol
303
+
304
+ #endif // #ifndef _THRIFT_PROTOCOL_TBINARYPROTOCOL_H_