javonet-ruby-sdk 2.1.11 → 2.1.13

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 (247) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +3 -3
  3. data/VERSION +1 -1
  4. data/javonet-ruby-sdk.gemspec +11 -12
  5. data/lib/javonet-ruby-sdk/Binaries/Clr/Windows/X64/Javonet.Clr.Utils.dll +0 -0
  6. data/lib/javonet-ruby-sdk/Binaries/Clr/Windows/X64/JavonetClrRuntime.dll +0 -0
  7. data/lib/javonet-ruby-sdk/Binaries/Jvm/Linux/X64/JavonetJvmRuntime.jar +0 -0
  8. data/lib/javonet-ruby-sdk/Binaries/Jvm/MacOs/X64/JavonetJvmRuntime.jar +0 -0
  9. data/lib/javonet-ruby-sdk/Binaries/Jvm/Windows/X64/JavonetJvmRuntime.jar +0 -0
  10. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/NetVersion80LatestPatch.runtimeconfig.json +10 -0
  11. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/NetVersionLatest.runtimeconfig.json +2 -2
  12. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
  13. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
  14. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
  15. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
  16. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
  17. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
  18. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
  19. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
  20. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +0 -0
  21. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/NetVersion80LatestPatch.runtimeconfig.json +10 -0
  22. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/NetVersionLatest.runtimeconfig.json +2 -2
  23. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
  24. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
  25. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
  26. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  27. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
  28. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
  29. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
  30. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
  31. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
  32. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
  33. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
  34. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
  35. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
  36. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
  37. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
  38. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
  39. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
  40. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
  41. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/NetVersion80LatestPatch.runtimeconfig.json +10 -0
  42. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/NetVersionLatest.runtimeconfig.json +2 -2
  43. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
  44. data/lib/javonet-ruby-sdk/Binaries/Netcore/Linux/X64/Javonet.Netcore.Core.dll +0 -0
  45. data/lib/javonet-ruby-sdk/Binaries/Netcore/Linux/X64/Javonet.Netcore.Utils.dll +0 -0
  46. data/lib/javonet-ruby-sdk/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Core.dll +0 -0
  47. data/lib/javonet-ruby-sdk/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Utils.dll +0 -0
  48. data/lib/javonet-ruby-sdk/Binaries/Netcore/Windows/X64/Javonet.Netcore.Core.dll +0 -0
  49. data/lib/javonet-ruby-sdk/Binaries/Netcore/Windows/X64/Javonet.Netcore.Utils.dll +0 -0
  50. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/ArraySetItemHandler.js +4 -4
  51. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/GetTypeHandler.js +1 -1
  52. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/ValueHandler.js +4 -0
  53. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/interpreter/Interpreter.js +17 -9
  54. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/CommandDeserializer.js +160 -0
  55. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/{CommandEncoder.js → CommandSerializer.js} +5 -5
  56. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/TypeDeserializer.js +77 -0
  57. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/TypeSerializer.js +126 -0
  58. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/receiver/Receiver.js +1 -4
  59. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/utils/CommandType.js +6 -4
  60. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/ArraySetItemHandler.js +4 -4
  61. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/GetTypeHandler.js +1 -1
  62. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/ValueHandler.js +4 -0
  63. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/interpreter/Interpreter.js +17 -9
  64. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/CommandDeserializer.js +160 -0
  65. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/{CommandEncoder.js → CommandSerializer.js} +5 -5
  66. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/TypeDeserializer.js +77 -0
  67. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/TypeSerializer.js +126 -0
  68. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/receiver/Receiver.js +1 -4
  69. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/utils/CommandType.js +6 -4
  70. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/ArraySetItemHandler.js +4 -4
  71. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/GetTypeHandler.js +1 -1
  72. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/ValueHandler.js +4 -0
  73. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/interpreter/Interpreter.js +17 -9
  74. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/CommandDeserializer.js +160 -0
  75. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/{CommandEncoder.js → CommandSerializer.js} +5 -5
  76. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/TypeDeserializer.js +77 -0
  77. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/TypeSerializer.js +126 -0
  78. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/receiver/Receiver.js +1 -4
  79. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/utils/CommandType.js +6 -4
  80. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Sub/Exporter/Cookbook.pod +1 -1
  81. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Sub/Exporter/Tutorial.pod +1 -1
  82. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Sub/Exporter/Util.pm +16 -16
  83. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Sub/Exporter.pm +20 -21
  84. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Class/Load/XS/XS.so +0 -0
  85. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Data/UUID/UUID.so +0 -0
  86. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/Platypus.so +0 -0
  87. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/Util/Util.so +0 -0
  88. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  89. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/PPI/XS/XS.so +0 -0
  90. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Package/Stash/XS/XS.so +0 -0
  91. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Params/Util/Util.so +0 -0
  92. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  93. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/share/dist/FFI-Platypus/lib/libplfill.so +0 -0
  94. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +90 -90
  95. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/ArraySetItemHandler.pm +2 -2
  96. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +7 -4
  97. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +17 -0
  98. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +38 -5
  99. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Sub/Exporter/Cookbook.pod +1 -1
  100. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Sub/Exporter/Tutorial.pod +1 -1
  101. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Sub/Exporter/Util.pm +16 -16
  102. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Sub/Exporter.pm +20 -21
  103. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/share/dist/FFI-Platypus/include/ffi_platypus_config.h +1 -1
  104. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/perllocal.pod +86 -86
  105. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Core/Handler/CommandHandler/ArraySetItemHandler.pm +2 -2
  106. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +7 -4
  107. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +17 -0
  108. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +38 -5
  109. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  110. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  111. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Scalar/Util/Numeric/Numeric.xs.dll +0 -0
  112. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  113. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  114. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +17 -17
  115. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/ArraySetItemHandler.pm +2 -2
  116. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +7 -4
  117. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +17 -0
  118. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +38 -5
  119. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/generator/handler/shared/SharedTypeHandler.py +2 -2
  120. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/ArraySetItemHandler.py +8 -4
  121. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/CreateClassInstanceHandler.py +0 -1
  122. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/interpreter/Interpreter.py +4 -5
  123. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/protocol/CommandDeserializer.py +64 -37
  124. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/protocol/CommandSerializer.py +14 -10
  125. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/protocol/TypeDeserializer.py +31 -47
  126. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/protocol/TypeSerializer.py +39 -43
  127. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/CommandType.py +6 -4
  128. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/Type.py +1 -2
  129. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/generator/handler/shared/SharedTypeHandler.py +2 -2
  130. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/ArraySetItemHandler.py +8 -4
  131. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/CreateClassInstanceHandler.py +0 -1
  132. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/interpreter/Interpreter.py +4 -5
  133. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/protocol/CommandDeserializer.py +64 -37
  134. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/protocol/CommandSerializer.py +14 -10
  135. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/protocol/TypeDeserializer.py +31 -47
  136. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/protocol/TypeSerializer.py +39 -43
  137. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/CommandType.py +6 -4
  138. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/Type.py +1 -2
  139. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/__pycache__/__init__.cpython-311.pyc +0 -0
  140. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/__pycache__/__init__.cpython-311.pyc +0 -0
  141. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/handler/shared/SharedTypeHandler.py +2 -2
  142. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/PythonStringBuilder.cpython-311.pyc +0 -0
  143. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/__init__.cpython-311.pyc +0 -0
  144. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/ArraySetItemHandler.py +8 -4
  145. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/CreateClassInstanceHandler.py +0 -1
  146. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/AbstractCommandHandler.cpython-311.pyc +0 -0
  147. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetItemHandler.cpython-311.pyc +0 -0
  148. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetRankHandler.cpython-311.pyc +0 -0
  149. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetSizeHandler.cpython-311.pyc +0 -0
  150. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayHandler.cpython-311.pyc +0 -0
  151. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArraySetItemHandler.cpython-311.pyc +0 -0
  152. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CastingHandler.cpython-311.pyc +0 -0
  153. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CreateClassInstanceHandler.cpython-311.pyc +0 -0
  154. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/DestructReferenceHandler.cpython-311.pyc +0 -0
  155. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumItemHandler.cpython-311.pyc +0 -0
  156. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumNameHandler.cpython-311.pyc +0 -0
  157. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumValueHandler.cpython-311.pyc +0 -0
  158. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetInstanceFieldHandler.cpython-311.pyc +0 -0
  159. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetStaticFieldHandler.cpython-311.pyc +0 -0
  160. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetTypeHandler.cpython-311.pyc +0 -0
  161. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeInstanceMethodHandler.cpython-311.pyc +0 -0
  162. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeStaticMethodHandler.cpython-311.pyc +0 -0
  163. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/LoadLibraryHandler.cpython-311.pyc +0 -0
  164. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ResolveInstanceHandler.cpython-311.pyc +0 -0
  165. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetInstanceFieldHandler.cpython-311.pyc +0 -0
  166. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetStaticFieldHandler.cpython-311.pyc +0 -0
  167. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ValueHandler.cpython-311.pyc +0 -0
  168. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/__init__.cpython-311.pyc +0 -0
  169. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/AbstractHandler.cpython-311.pyc +0 -0
  170. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/Handler.cpython-311.pyc +0 -0
  171. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/HandlerDictionary.cpython-311.pyc +0 -0
  172. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/ReferencesCache.cpython-311.pyc +0 -0
  173. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/__init__.cpython-311.pyc +0 -0
  174. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/Interpreter.py +4 -5
  175. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/Interpreter.cpython-311.pyc +0 -0
  176. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/__init__.cpython-311.pyc +0 -0
  177. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/CommandDeserializer.py +64 -37
  178. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/CommandSerializer.py +14 -10
  179. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/TypeDeserializer.py +31 -47
  180. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/TypeSerializer.py +39 -43
  181. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-311.pyc +0 -0
  182. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandSerializer.cpython-311.pyc +0 -0
  183. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-311.pyc +0 -0
  184. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeSerializer.cpython-311.pyc +0 -0
  185. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/__init__.cpython-311.pyc +0 -0
  186. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/Receiver.cpython-311.pyc +0 -0
  187. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/__init__.cpython-311.pyc +0 -0
  188. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/CommandType.py +6 -4
  189. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/Type.py +1 -2
  190. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Command.cpython-311.pyc +0 -0
  191. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/CommandType.cpython-311.pyc +0 -0
  192. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ConnectionType.cpython-311.pyc +0 -0
  193. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ExceptionType.cpython-311.pyc +0 -0
  194. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/RuntimeName.cpython-311.pyc +0 -0
  195. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/StringEncodingMode.cpython-311.pyc +0 -0
  196. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Type.cpython-311.pyc +0 -0
  197. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  198. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-311.pyc +0 -0
  199. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/exception/__pycache__/__init__.cpython-311.pyc +0 -0
  200. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/command_handler/array_set_item_handler.rb +4 -4
  201. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/interpreter/interpreter.rb +4 -4
  202. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/command_deserializer.rb +150 -115
  203. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/command_serializer.rb +23 -24
  204. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/type_deserializer.rb +35 -48
  205. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/type_serializer.rb +43 -40
  206. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/command_type.rb +14 -8
  207. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/type.rb +1 -1
  208. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/command_handler/array_set_item_handler.rb +4 -4
  209. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/interpreter/interpreter.rb +4 -4
  210. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/command_deserializer.rb +150 -115
  211. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/command_serializer.rb +23 -24
  212. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/type_deserializer.rb +35 -48
  213. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/type_serializer.rb +43 -40
  214. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/command_type.rb +14 -8
  215. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/type.rb +1 -1
  216. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/command_handler/array_set_item_handler.rb +4 -4
  217. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/interpreter/interpreter.rb +4 -4
  218. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/command_deserializer.rb +150 -115
  219. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/command_serializer.rb +23 -24
  220. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/type_deserializer.rb +35 -48
  221. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/type_serializer.rb +43 -40
  222. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/command_type.rb +14 -8
  223. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/type.rb +1 -1
  224. data/lib/javonet-ruby-sdk/core/handler/command_handler/array_set_item_handler.rb +4 -4
  225. data/lib/javonet-ruby-sdk/core/interpreter/interpreter.rb +4 -4
  226. data/lib/javonet-ruby-sdk/core/protocol/command_deserializer.rb +150 -115
  227. data/lib/javonet-ruby-sdk/core/protocol/command_serializer.rb +23 -24
  228. data/lib/javonet-ruby-sdk/core/protocol/type_deserializer.rb +35 -48
  229. data/lib/javonet-ruby-sdk/core/protocol/type_serializer.rb +43 -40
  230. data/lib/javonet-ruby-sdk/sdk/internal/invocation_context.rb +9 -1
  231. data/lib/javonet-ruby-sdk/sdk/internal/invocation_context_iterator.rb +8 -8
  232. data/lib/javonet-ruby-sdk/sdk/internal/runtime_context.rb +12 -0
  233. data/lib/javonet-ruby-sdk/utils/command_type.rb +14 -8
  234. data/lib/javonet-ruby-sdk/utils/type.rb +1 -1
  235. metadata +59 -73
  236. data/lib/javonet-ruby-sdk/Binaries/Cpp/Linux/X64/libJavonetCppRuntime.so +0 -0
  237. data/lib/javonet-ruby-sdk/Binaries/Cpp/MacOs/X64/libJavonetCppRuntime.dylib +0 -0
  238. data/lib/javonet-ruby-sdk/Binaries/Cpp/Windows/X64/JavonetCppRuntime.dll +0 -0
  239. data/lib/javonet-ruby-sdk/Binaries/Go/Linux/X64/libJavonetGoRuntime.so +0 -0
  240. data/lib/javonet-ruby-sdk/Binaries/Go/MacOs/X64/libJavonetGoRuntime.dylib +0 -0
  241. data/lib/javonet-ruby-sdk/Binaries/Go/Windows/X64/JavonetGoRuntime.dll +0 -0
  242. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/CommandDecoder.js +0 -171
  243. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/TypeEncoder.js +0 -78
  244. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/CommandDecoder.js +0 -171
  245. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/TypeEncoder.js +0 -78
  246. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/CommandDecoder.js +0 -171
  247. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/TypeEncoder.js +0 -78
@@ -5,22 +5,47 @@ from javonet.utils.StringEncodingMode import StringEncodingMode
5
5
 
6
6
 
7
7
  class TypeSerializer:
8
+
9
+ @staticmethod
10
+ def serialize_command(command):
11
+ length = list(bytearray(struct.pack("<i", len(command.payload))))
12
+ return [Type.Command.value] + length + [command.runtime_name.value, command.command_type.value]
8
13
 
9
14
  @staticmethod
10
- def serialize_type(type_value):
11
- return TypeSerializer.serialize_int(type_value)
15
+ def serialize_string(string_value):
16
+ encoded_string_list = list(bytearray(string_value, 'utf-8'))
17
+ length = list(bytearray(struct.pack("<i", len(encoded_string_list))))
18
+ return [Type.JavonetString.value] + [StringEncodingMode.UTF8.value] + length + encoded_string_list
12
19
 
13
20
  @staticmethod
14
21
  def serialize_int(int_value):
15
22
  encoded_int_list = list(bytearray(struct.pack("<i", int_value)))
16
23
  length = len(encoded_int_list)
17
24
  return [Type.JavonetInteger.value, length] + encoded_int_list
25
+
26
+ @staticmethod
27
+ def serialize_bool(bool_value):
28
+ encoded_bool_list = list(bytearray(struct.pack("?", bool_value)))
29
+ length = len(encoded_bool_list)
30
+ return [Type.JavonetBoolean.value, length] + encoded_bool_list
31
+
32
+ @staticmethod
33
+ def serialize_float(float_value):
34
+ encoded_float_list = list(bytearray(struct.pack("<f", float_value)))
35
+ length = len(encoded_float_list)
36
+ return [Type.JavonetFloat.value, length] + encoded_float_list
18
37
 
19
38
  @staticmethod
20
- def serialize_unsigned_int(unsigned_int_value):
21
- encoded_unsigned_int_list = list(bytearray(struct.pack("<I", unsigned_int_value)))
22
- length = len(encoded_unsigned_int_list)
23
- return [Type.JavonetUnsignedInteger.value, length] + encoded_unsigned_int_list
39
+ def serialize_byte(bytes_value):
40
+ encoded_byte_list = list(bytearray(struct.pack("<B", bytes_value)))
41
+ length = len(encoded_byte_list)
42
+ return [Type.JavonetByte.value, length] + encoded_byte_list
43
+
44
+ @staticmethod
45
+ def serialize_char(char_value):
46
+ encoded_char_list = list(bytearray(struct.pack("<b", char_value)))
47
+ length = len(encoded_char_list)
48
+ return [Type.JavonetChar.value, length] + encoded_char_list
24
49
 
25
50
  @staticmethod
26
51
  def serialize_longlong(longlong_value):
@@ -28,12 +53,6 @@ class TypeSerializer:
28
53
  length = len(encoded_longlong_list)
29
54
  return [Type.JavonetLongLong.value, length] + encoded_longlong_list
30
55
 
31
- @staticmethod
32
- def serialize_unsignedlonglong(unsigned_longlong_value):
33
- encoded_unsignedlonglong_list = list(bytearray(struct.pack("<q", unsigned_longlong_value)))
34
- length = len(encoded_unsignedlonglong_list)
35
- return [Type.JavonetUnsignedLongLong.value, length] + encoded_unsignedlonglong_list
36
-
37
56
  @staticmethod
38
57
  def serialize_double(double_value):
39
58
  encoded_double_list = list(bytearray(struct.pack("<d", double_value)))
@@ -41,36 +60,13 @@ class TypeSerializer:
41
60
  return [Type.JavonetDouble.value, length] + encoded_double_list
42
61
 
43
62
  @staticmethod
44
- def serialize_string(string_value):
45
- encoded_string_list = list(bytearray(string_value, 'utf-8'))
46
- length = list(bytearray(struct.pack("<i", len(encoded_string_list))))
47
- return [Type.JavonetString.value] + [StringEncodingMode.UTF8.value] + length + encoded_string_list
48
-
49
- @staticmethod
50
- def serialize_float(float_value):
51
- encoded_float_list = list(bytearray(struct.pack("<f", float_value)))
52
- length = len(encoded_float_list)
53
- return [Type.JavonetFloat.value, length] + encoded_float_list
54
-
55
- @staticmethod
56
- def serialize_bool(bool_value):
57
- encoded_bool_list = list(bytearray(struct.pack("?", bool_value)))
58
- length = len(encoded_bool_list)
59
- return [Type.JavonetBoolean.value, length] + encoded_bool_list
60
-
61
- @staticmethod
62
- def serialize_char(char_value):
63
- encoded_char_list = list(bytearray(struct.pack("<c", char_value)))
64
- length = len(encoded_char_list)
65
- return [Type.JavonetChar.value, length] + encoded_char_list
66
-
67
- @staticmethod
68
- def serialize_bytes(bytes_value):
69
- encoded_bytes_list = list(bytearray(struct.pack("<s", bytes_value)))
70
- length = len(encoded_bytes_list)
71
- return [Type.JavonetBytes.value, length] + encoded_bytes_list
63
+ def serialize_ullong(unsigned_longlong_value):
64
+ encoded_unsignedlonglong_list = list(bytearray(struct.pack("<Q", unsigned_longlong_value)))
65
+ length = len(encoded_unsignedlonglong_list)
66
+ return [Type.JavonetUnsignedLongLong.value, length] + encoded_unsignedlonglong_list
72
67
 
73
68
  @staticmethod
74
- def serialize_command(command):
75
- length = list(bytearray(struct.pack("<i", len(command.payload))))
76
- return [Type.Command.value] + length + [command.runtime_name.value, command.command_type.value]
69
+ def serialize_uint(unsigned_int_value):
70
+ encoded_unsigned_int_list = list(bytearray(struct.pack("<I", unsigned_int_value)))
71
+ length = len(encoded_unsigned_int_list)
72
+ return [Type.JavonetUnsignedInteger.value, length] + encoded_unsigned_int_list
@@ -30,7 +30,9 @@ class CommandType(Enum):
30
30
  SetInstanceField = 25
31
31
  InvokeGenericStaticMethod = 26
32
32
  InvokeGenericMethod = 27
33
- CreateGenericClassInstance = 28
34
- GetEnumItem = 29
35
- GetEnumName = 30
36
- GetEnumValue = 31
33
+ GetEnumItem = 28
34
+ GetEnumName = 29
35
+ GetEnumValue = 30
36
+ AsRef = 31
37
+ AsOut = 32
38
+ GetRefValue = 33
@@ -7,11 +7,10 @@ class Type(Enum):
7
7
  JavonetInteger = 2
8
8
  JavonetBoolean = 3
9
9
  JavonetFloat = 4
10
- JavonetBytes = 5
10
+ JavonetByte = 5
11
11
  JavonetChar = 6
12
12
  JavonetLongLong = 7
13
13
  JavonetDouble = 8
14
14
  JavonetUnsignedLongLong = 9
15
15
  JavonetUnsignedInteger = 10
16
16
  JavonetNoneType = 11
17
-
@@ -25,11 +25,11 @@ class ArraySetItemHandler < AbstractCommandHandler
25
25
 
26
26
  def set_item_array(command)
27
27
  array = command.payload[0]
28
- value = command.payload[1]
29
- indexes = if command.payload[2].is_a? Array
30
- command.payload[2]
28
+ value = command.payload[2]
29
+ indexes = if command.payload[1].is_a? Array
30
+ command.payload[1]
31
31
  else
32
- command.payload[2..]
32
+ [command.payload[1]]
33
33
  end
34
34
  indexes[..-2].each { |i|
35
35
  array = array[i]
@@ -6,7 +6,7 @@ class Interpreter
6
6
  def execute(command, connection_type, tcp_address)
7
7
 
8
8
  command_serializer = CommandSerializer.new
9
- message_byte_array = command_serializer.encode(command, connection_type, tcp_address)
9
+ message_byte_array = command_serializer.serialize(command, connection_type, tcp_address)
10
10
  if command.runtime_name == RuntimeName::RUBY
11
11
  require_relative '../receiver/receiver'
12
12
  response_byte_array = Receiver.new.send_command(message_byte_array, message_byte_array.length)
@@ -16,15 +16,15 @@ class Interpreter
16
16
  end
17
17
 
18
18
  command_deserializer = CommandDeserializer.new(response_byte_array,response_byte_array.length)
19
- encoded_response = command_deserializer.decode
19
+ encoded_response = command_deserializer.deserialize
20
20
  return encoded_response
21
21
  end
22
22
 
23
23
  def process(byte_array, byte_array_len)
24
24
  command_deserializer = CommandDeserializer.new(byte_array,byte_array_len)
25
- received_command = command_deserializer.decode
25
+ received_command = command_deserializer.deserialize
26
26
  handler = Handler.new
27
27
  command_serializer = CommandSerializer.new
28
- return command_serializer.encode(handler.handle_command(received_command), 0, "0.0.0.0:0")
28
+ return command_serializer.serialize(handler.handle_command(received_command), 0, "0.0.0.0:0")
29
29
  end
30
30
  end
@@ -5,122 +5,157 @@ require_relative '../../utils/string_encoding_mode'
5
5
 
6
6
  class CommandDeserializer
7
7
 
8
-
9
- def initialize(buffer,byte_array_len)
10
- @buffer = buffer
11
- @byte_array_len = byte_array_len
12
- @command = Command.new(buffer[0], buffer[10], [])
13
- @position = 11
14
- end
15
-
16
- def is_at_end
17
- return @position == @byte_array_len
18
- end
19
-
20
- def decode
21
- until is_at_end
22
- @command = @command.add_arg_to_payload(read_object(@buffer[@position]))
23
- end
24
- return @command
25
- end
26
-
27
- # def copy_from(self, bytes_to_copy, elements_to_skip):
28
- # size = len(bytes_to_copy) - elements_to_skip
29
- # new_byte_array = bytes_to_copy[size]
30
- #
31
- #
32
- # return new_byte_array
33
-
34
- def read_object(type_num)
35
- type_value = type_num
36
- if type_value == Type::COMMAND
37
- return self.read_command
38
- elsif type_value == Type::JAVONET_INTEGER
39
- return self.read_int
40
- elsif type_value == Type::JAVONET_STRING
41
- return self.read_string
42
- elsif type_value == Type::JAVONET_BOOLEAN
43
- return self.read_bool
44
- elsif type_value == Type::JAVONET_FLOAT
45
- return self.read_float
46
- elsif type_value == Type::JAVONET_DOUBLE
47
- return self.read_double
48
- else
49
- Exception("Type not supported")
50
- end
8
+ def initialize(buffer, byte_array_len)
9
+ @buffer = buffer
10
+ @byte_array_len = byte_array_len
11
+ @command = Command.new(buffer[0], buffer[10], [])
12
+ @position = 11
13
+ end
14
+
15
+ def is_at_end
16
+ @position == @byte_array_len
17
+ end
18
+
19
+ def deserialize
20
+ until is_at_end
21
+ @command = @command.add_arg_to_payload(read_object(@buffer[@position]))
51
22
  end
52
-
53
-
54
- def read_command
55
- p = @position
56
- number_of_elements_in_payload = TypeDeserializer.deserialize_int(@buffer[p+1..p+4])
57
- runtime = @buffer[p + 5]
58
- command_type = @buffer[p + 6]
59
-
60
- @position += 7
61
- return_command = Command.new(runtime, command_type, [])
62
- return read_command_recursively(number_of_elements_in_payload, return_command)
63
- end
64
-
65
- def read_command_recursively(number_of_elements_in_payload_left, cmd)
66
- if number_of_elements_in_payload_left == 0
67
- return cmd
68
- else
69
- p = @position
70
- new_command = cmd.add_arg_to_payload(self.read_object(@buffer[p]))
71
- return read_command_recursively(number_of_elements_in_payload_left - 1, new_command)
72
- end
73
-
23
+ @command
24
+ end
25
+
26
+ # def copy_from(self, bytes_to_copy, elements_to_skip):
27
+ # size = len(bytes_to_copy) - elements_to_skip
28
+ # new_byte_array = bytes_to_copy[size]
29
+ # return new_byte_array
30
+
31
+ def read_object(type_num)
32
+ case type_num
33
+ when Type::COMMAND
34
+ return self.read_command
35
+ when Type::JAVONET_STRING
36
+ return self.read_string
37
+ when Type::JAVONET_INTEGER
38
+ return self.read_int
39
+ when Type::JAVONET_BOOLEAN
40
+ return self.read_bool
41
+ when Type::JAVONET_FLOAT
42
+ return self.read_float
43
+ when Type::JAVONET_BYTE
44
+ return self.read_byte
45
+ when Type::JAVONET_CHAR
46
+ return self.read_char
47
+ when Type::JAVONET_LONG_LONG
48
+ return self.read_longlong
49
+ when Type::JAVONET_DOUBLE
50
+ return self.read_double
51
+ when Type::JAVONET_UNSIGNED_LONG_LONG
52
+ return self.read_ullong
53
+ when Type::JAVONET_UNSIGNED_INTEGER
54
+ return self.read_uint
55
+ else
56
+ raise Exception.new("Type #{type_num} not supported in command deserializer")
74
57
  end
75
-
76
- def read_int
77
- @position += 2
78
- p = @position
79
- @position += 4
80
- return TypeDeserializer.deserialize_int(@buffer[p..p + 4 - 1])
81
- end
82
-
83
-
84
- def read_string
85
- p = @position
86
- string_encoding_mode = @buffer[p+1]
87
- size = TypeDeserializer.deserialize_int(@buffer[p+2..p + 5])
88
- @position += 6
89
- p = @position
90
- decoded_string = TypeDeserializer.deserialize_string(string_encoding_mode, @buffer[p..p + size-1])
91
- @position += size
92
- return decoded_string
93
- end
94
-
95
- def read_bool
96
- p = @position
97
- size = @buffer[p + 1]
98
- @position += 2
99
- p = @position
100
- decoded_bool = TypeDeserializer.deserialize_bool(@buffer[p..p + size])
101
- @position += size
102
- return decoded_bool
103
- end
104
-
105
-
106
- def read_float
107
- p = @position
108
- size = @buffer[p + 1]
109
- @position += 2
110
- p = @position
111
- decoded_float = TypeDeserializer.deserialize_float(@buffer[p..p + size - 1])
112
- @position += size
113
- return decoded_float
114
- end
115
-
116
-
117
- def read_double
118
- p = @position
119
- size = @buffer[p + 1]
120
- @position += 2
121
- p = @position
122
- decoded_double = TypeDeserializer.deserialize_double(@buffer[p..p + size -1])
123
- @position += size
124
- return decoded_double
58
+ end
59
+
60
+ def read_command
61
+ p = @position
62
+ number_of_elements_in_payload = TypeDeserializer.deserialize_int(@buffer[p + 1..p + 4])
63
+ runtime = @buffer[p + 5]
64
+ command_type = @buffer[p + 6]
65
+ @position += 7
66
+ return_command = Command.new(runtime, command_type, [])
67
+ read_command_recursively(number_of_elements_in_payload, return_command)
68
+ end
69
+
70
+ def read_command_recursively(number_of_elements_in_payload_left, cmd)
71
+ if number_of_elements_in_payload_left == 0
72
+ cmd
73
+ else
74
+ p = @position
75
+ cmd = cmd.add_arg_to_payload(self.read_object(@buffer[p]))
76
+ read_command_recursively(number_of_elements_in_payload_left - 1, cmd)
125
77
  end
78
+ end
79
+
80
+ def read_string
81
+ p = @position
82
+ string_encoding_mode = @buffer[p + 1]
83
+ size = TypeDeserializer.deserialize_int(@buffer[p + 2..p + 5])
84
+ @position += 6
85
+ p = @position
86
+ @position += size
87
+ TypeDeserializer.deserialize_string(string_encoding_mode, @buffer[p..p + size - 1])
88
+ end
89
+
90
+ def read_int
91
+ size = 4
92
+ @position += 2
93
+ p = @position
94
+ @position += size
95
+ TypeDeserializer.deserialize_int(@buffer[p..p + size - 1])
96
+ end
97
+
98
+ def read_bool
99
+ size = 1
100
+ @position += 2
101
+ p = @position
102
+ @position += size
103
+ TypeDeserializer.deserialize_bool(@buffer[p..p + size])
104
+ end
105
+
106
+ def read_float
107
+ size = 4
108
+ @position += 2
109
+ p = @position
110
+ @position += size
111
+ TypeDeserializer.deserialize_float(@buffer[p..p + size - 1])
112
+ end
113
+
114
+ def read_byte
115
+ size = 1
116
+ @position += 2
117
+ p = @position
118
+ @position += size
119
+ TypeDeserializer.deserialize_byte(@buffer[p..p + size])
120
+ end
121
+
122
+ def read_char
123
+ size = 1
124
+ @position += 2
125
+ p = @position
126
+ @position += size
127
+ TypeDeserializer.deserialize_char(@buffer[p..p + size])
128
+ end
129
+
130
+ def read_longlong
131
+ size = 8
132
+ @position += 2
133
+ p = @position
134
+ @position += size
135
+ TypeDeserializer.deserialize_longlong(@buffer[p..p + size - 1])
136
+ end
137
+
138
+ def read_double
139
+ size = 8
140
+ @position += 2
141
+ p = @position
142
+ @position += size
143
+ TypeDeserializer.deserialize_double(@buffer[p..p + size - 1])
144
+ end
145
+
146
+ def read_ullong
147
+ size = 8
148
+ @position += 2
149
+ p = @position
150
+ @position += size
151
+ TypeDeserializer.deserialize_ullong(@buffer[p..p + size - 1])
152
+ end
153
+
154
+ def read_uint
155
+ size = 4
156
+ @position += 2
157
+ p = @position
158
+ @position += size
159
+ TypeDeserializer.deserialize_uint(@buffer[p..p + size - 1])
160
+ end
126
161
  end
@@ -8,11 +8,10 @@ class CommandSerializer
8
8
  @byte_buffer = []
9
9
  end
10
10
 
11
-
12
- def encode(root_command, connection_type = ConnectionType::IN_MEMORY, tcp_address = nil, runtimeVersion = 0)
11
+ def serialize(root_command, connection_type = ConnectionType::IN_MEMORY, tcp_address = nil, runtime_version = 0)
13
12
  queue = []
14
13
  queue.unshift(root_command)
15
- self.insert_into_buffer([root_command.runtime_name, runtimeVersion])
14
+ self.insert_into_buffer([root_command.runtime_name, runtime_version])
16
15
  if connection_type == ConnectionType::TCP
17
16
  self.insert_into_buffer([ConnectionType::TCP])
18
17
  self.insert_into_buffer(self.serialize_tcp(tcp_address))
@@ -22,50 +21,50 @@ class CommandSerializer
22
21
  self.insert_into_buffer([0, 0, 0, 0, 0, 0])
23
22
  end
24
23
  self.insert_into_buffer([RuntimeName::RUBY, root_command.command_type])
25
- return self.serialize_recursively(queue)
24
+ self.serialize_recursively(queue)
26
25
  end
27
26
 
28
27
  def serialize_tcp(tcp_address)
29
28
  if tcp_address.kind_of?(Array)
30
- return tcp_address
29
+ tcp_address
31
30
  else
32
31
  tcp_address_array = tcp_address.split(':')
33
32
  tcp_address_ip = tcp_address_array[0].split('.')
34
33
  tcp_address_port = tcp_address_array[1]
35
34
  tcp_address_bytearray = []
36
- for address in tcp_address_ip
35
+ tcp_address_ip.each { |address|
37
36
  tcp_address_bytearray.concat([address.to_i])
38
- end
37
+ }
39
38
  port_byte = [tcp_address_port.to_i].pack("s_").bytes
40
39
  tcp_address_bytearray.concat(port_byte)
41
- return tcp_address_bytearray
42
-
40
+ tcp_address_bytearray
43
41
  end
44
42
 
45
43
  end
46
44
 
47
45
  def serialize_primitive(payload_item)
48
- if payload_item.is_a? Integer
49
- serialized_int = TypeSerializer.serialize_int(payload_item)
50
- return serialized_int
46
+ if [true, false].include? payload_item
47
+ TypeSerializer.serialize_bool(payload_item)
48
+ elsif payload_item.is_a? Integer
49
+ if (-2 ** 31..2 ** 31).include?(payload_item)
50
+ return TypeSerializer.serialize_int(payload_item)
51
+ elsif (-2 ** 63..2 ** 63).include?(payload_item)
52
+ return TypeSerializer.serialize_longlong(payload_item)
53
+ else
54
+ return TypeSerializer.serialize_ullong(payload_item)
55
+ end
51
56
  elsif payload_item.is_a? String
52
- serialized_string = TypeSerializer.serialize_string(payload_item)
53
- return serialized_string
57
+ TypeSerializer.serialize_string(payload_item)
54
58
  elsif payload_item.is_a? Float
55
- serialized_float = TypeSerializer.serialize_float(payload_item)
56
- return serialized_float
57
- elsif [true,false].include? payload_item
58
- serialized_bool = TypeSerializer.serialize_bool(payload_item)
59
- return serialized_bool
59
+ TypeSerializer.serialize_double(payload_item)
60
+ elsif payload_item.is_a?
60
61
  else
61
- return nil
62
+ raise Exception.new("Payload not supported in command serializer")
62
63
  end
63
64
  end
64
65
 
65
66
  def insert_into_buffer(arguments)
66
- new_byte_buffer = @byte_buffer + arguments
67
- @byte_buffer = new_byte_buffer
68
-
67
+ @byte_buffer = @byte_buffer + arguments
69
68
  end
70
69
 
71
70
  def serialize_recursively(queue)
@@ -87,7 +86,7 @@ class CommandSerializer
87
86
  else
88
87
  queue.shift
89
88
  end
90
- return self.serialize_recursively(queue)
89
+ self.serialize_recursively(queue)
91
90
  end
92
91
 
93
92
  end