tdl-xoa-driver 1.0.0b1__py3-none-any.whl

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 (325) hide show
  1. tdl_xoa_driver-1.0.0b1.dist-info/LICENSE +202 -0
  2. tdl_xoa_driver-1.0.0b1.dist-info/METADATA +177 -0
  3. tdl_xoa_driver-1.0.0b1.dist-info/RECORD +325 -0
  4. tdl_xoa_driver-1.0.0b1.dist-info/WHEEL +5 -0
  5. tdl_xoa_driver-1.0.0b1.dist-info/top_level.txt +1 -0
  6. xoa_driver/__init__.py +2 -0
  7. xoa_driver/enums.py +399 -0
  8. xoa_driver/exceptions.py +77 -0
  9. xoa_driver/functions/__init__.py +0 -0
  10. xoa_driver/functions/anlt.py +744 -0
  11. xoa_driver/functions/anlt_ll_debug.py +429 -0
  12. xoa_driver/functions/cli.py +581 -0
  13. xoa_driver/functions/exceptions.py +72 -0
  14. xoa_driver/functions/headers.py +608 -0
  15. xoa_driver/functions/mgmt.py +515 -0
  16. xoa_driver/functions/tools.py +256 -0
  17. xoa_driver/hlfuncs.py +18 -0
  18. xoa_driver/internals/__init__.py +0 -0
  19. xoa_driver/internals/commands/__init__.py +31 -0
  20. xoa_driver/internals/commands/c_commands.py +2041 -0
  21. xoa_driver/internals/commands/enums.py +3289 -0
  22. xoa_driver/internals/commands/m4_commands.py +700 -0
  23. xoa_driver/internals/commands/m4e_commands.py +107 -0
  24. xoa_driver/internals/commands/m_commands.py +1875 -0
  25. xoa_driver/internals/commands/p4_commands.py +2221 -0
  26. xoa_driver/internals/commands/p4e_commands.py +160 -0
  27. xoa_driver/internals/commands/p4g_commands.py +7253 -0
  28. xoa_driver/internals/commands/p_commands.py +6000 -0
  29. xoa_driver/internals/commands/pc_commands.py +335 -0
  30. xoa_driver/internals/commands/pd_commands.py +355 -0
  31. xoa_driver/internals/commands/pe_commands.py +1018 -0
  32. xoa_driver/internals/commands/pec_commands.py +265 -0
  33. xoa_driver/internals/commands/ped_commands.py +1034 -0
  34. xoa_driver/internals/commands/pef_commands.py +2216 -0
  35. xoa_driver/internals/commands/pf_commands.py +379 -0
  36. xoa_driver/internals/commands/pl1_commands.py +1588 -0
  37. xoa_driver/internals/commands/pl_commands.py +178 -0
  38. xoa_driver/internals/commands/pm_commands.py +256 -0
  39. xoa_driver/internals/commands/pp_commands.py +2341 -0
  40. xoa_driver/internals/commands/pr_commands.py +812 -0
  41. xoa_driver/internals/commands/ps_commands.py +2311 -0
  42. xoa_driver/internals/commands/pt_commands.py +370 -0
  43. xoa_driver/internals/commands/px_commands.py +303 -0
  44. xoa_driver/internals/commands/subtypes.py +86 -0
  45. xoa_driver/internals/core/__init__.py +0 -0
  46. xoa_driver/internals/core/builders.py +39 -0
  47. xoa_driver/internals/core/exceptions.py +69 -0
  48. xoa_driver/internals/core/funcs.py +81 -0
  49. xoa_driver/internals/core/funcs.pyi +1072 -0
  50. xoa_driver/internals/core/interfaces.py +47 -0
  51. xoa_driver/internals/core/token.py +44 -0
  52. xoa_driver/internals/core/transporter/__init__.py +0 -0
  53. xoa_driver/internals/core/transporter/_processor.py +83 -0
  54. xoa_driver/internals/core/transporter/_publisher.py +101 -0
  55. xoa_driver/internals/core/transporter/_request_id_counter.py +28 -0
  56. xoa_driver/internals/core/transporter/_stream.py +99 -0
  57. xoa_driver/internals/core/transporter/_typings.py +43 -0
  58. xoa_driver/internals/core/transporter/exceptions.py +44 -0
  59. xoa_driver/internals/core/transporter/handler.py +127 -0
  60. xoa_driver/internals/core/transporter/logger/__init__.py +10 -0
  61. xoa_driver/internals/core/transporter/logger/__logger.py +94 -0
  62. xoa_driver/internals/core/transporter/logger/__state_off.py +32 -0
  63. xoa_driver/internals/core/transporter/logger/__state_on_default.py +70 -0
  64. xoa_driver/internals/core/transporter/logger/__state_on_loguru.py +51 -0
  65. xoa_driver/internals/core/transporter/logger/__state_on_user.py +48 -0
  66. xoa_driver/internals/core/transporter/protocol/__init__.py +0 -0
  67. xoa_driver/internals/core/transporter/protocol/_constants.py +77 -0
  68. xoa_driver/internals/core/transporter/protocol/_utils.py +59 -0
  69. xoa_driver/internals/core/transporter/protocol/exceptions.py +271 -0
  70. xoa_driver/internals/core/transporter/protocol/payload/__init__.py +70 -0
  71. xoa_driver/internals/core/transporter/protocol/payload/base_struct.py +283 -0
  72. xoa_driver/internals/core/transporter/protocol/payload/descriptor.py +119 -0
  73. xoa_driver/internals/core/transporter/protocol/payload/exceptions.py +20 -0
  74. xoa_driver/internals/core/transporter/protocol/payload/field.py +296 -0
  75. xoa_driver/internals/core/transporter/protocol/payload/types.py +173 -0
  76. xoa_driver/internals/core/transporter/protocol/payload/utils.py +53 -0
  77. xoa_driver/internals/core/transporter/protocol/struct_header.py +123 -0
  78. xoa_driver/internals/core/transporter/protocol/struct_request.py +65 -0
  79. xoa_driver/internals/core/transporter/protocol/struct_response.py +89 -0
  80. xoa_driver/internals/core/transporter/registry.py +43 -0
  81. xoa_driver/internals/exceptions/__init__.py +9 -0
  82. xoa_driver/internals/exceptions/modules.py +13 -0
  83. xoa_driver/internals/exceptions/testers.py +21 -0
  84. xoa_driver/internals/hli_v1/__init__.py +0 -0
  85. xoa_driver/internals/hli_v1/indices/__init__.py +0 -0
  86. xoa_driver/internals/hli_v1/indices/base_index.py +39 -0
  87. xoa_driver/internals/hli_v1/indices/connection_group/__init__.py +0 -0
  88. xoa_driver/internals/hli_v1/indices/connection_group/cg.py +186 -0
  89. xoa_driver/internals/hli_v1/indices/connection_group/histogram.py +78 -0
  90. xoa_driver/internals/hli_v1/indices/connection_group/l2.py +94 -0
  91. xoa_driver/internals/hli_v1/indices/connection_group/l3.py +130 -0
  92. xoa_driver/internals/hli_v1/indices/connection_group/raw.py +200 -0
  93. xoa_driver/internals/hli_v1/indices/connection_group/replay.py +109 -0
  94. xoa_driver/internals/hli_v1/indices/connection_group/tcp.py +314 -0
  95. xoa_driver/internals/hli_v1/indices/connection_group/tls.py +198 -0
  96. xoa_driver/internals/hli_v1/indices/connection_group/udp.py +133 -0
  97. xoa_driver/internals/hli_v1/indices/connection_group/user_state.py +28 -0
  98. xoa_driver/internals/hli_v1/indices/filter/__init__.py +0 -0
  99. xoa_driver/internals/hli_v1/indices/filter/base_filter.py +65 -0
  100. xoa_driver/internals/hli_v1/indices/filter/genuine_filter.py +20 -0
  101. xoa_driver/internals/hli_v1/indices/length_term.py +49 -0
  102. xoa_driver/internals/hli_v1/indices/macsecscs/__init__.py +0 -0
  103. xoa_driver/internals/hli_v1/indices/macsecscs/base_macsecsc.py +224 -0
  104. xoa_driver/internals/hli_v1/indices/macsecscs/genuine_macsecsc.py +72 -0
  105. xoa_driver/internals/hli_v1/indices/match_term.py +64 -0
  106. xoa_driver/internals/hli_v1/indices/port_dataset.py +72 -0
  107. xoa_driver/internals/hli_v1/indices/streams/__init__.py +0 -0
  108. xoa_driver/internals/hli_v1/indices/streams/base_stream.py +405 -0
  109. xoa_driver/internals/hli_v1/indices/streams/genuine_stream.py +64 -0
  110. xoa_driver/internals/hli_v1/modules/__init__.py +0 -0
  111. xoa_driver/internals/hli_v1/modules/__interfaces.py +21 -0
  112. xoa_driver/internals/hli_v1/modules/base_module.py +138 -0
  113. xoa_driver/internals/hli_v1/modules/module_chimera.py +366 -0
  114. xoa_driver/internals/hli_v1/modules/module_l23ve.py +73 -0
  115. xoa_driver/internals/hli_v1/modules/module_l47.py +397 -0
  116. xoa_driver/internals/hli_v1/modules/module_l47ve.py +9 -0
  117. xoa_driver/internals/hli_v1/modules/modules_l23/__init__.py +0 -0
  118. xoa_driver/internals/hli_v1/modules/modules_l23/family_combi.py +83 -0
  119. xoa_driver/internals/hli_v1/modules/modules_l23/family_d.py +75 -0
  120. xoa_driver/internals/hli_v1/modules/modules_l23/family_e.py +85 -0
  121. xoa_driver/internals/hli_v1/modules/modules_l23/family_f.py +145 -0
  122. xoa_driver/internals/hli_v1/modules/modules_l23/family_g.py +84 -0
  123. xoa_driver/internals/hli_v1/modules/modules_l23/family_h.py +40 -0
  124. xoa_driver/internals/hli_v1/modules/modules_l23/family_i.py +25 -0
  125. xoa_driver/internals/hli_v1/modules/modules_l23/family_j.py +25 -0
  126. xoa_driver/internals/hli_v1/modules/modules_l23/family_k.py +39 -0
  127. xoa_driver/internals/hli_v1/modules/modules_l23/family_l.py +55 -0
  128. xoa_driver/internals/hli_v1/modules/modules_l23/family_l1.py +800 -0
  129. xoa_driver/internals/hli_v1/modules/modules_l23/family_m.py +25 -0
  130. xoa_driver/internals/hli_v1/modules/modules_l23/family_n.py +40 -0
  131. xoa_driver/internals/hli_v1/modules/modules_l23/module_l23_base.py +383 -0
  132. xoa_driver/internals/hli_v1/ports/__init__.py +0 -0
  133. xoa_driver/internals/hli_v1/ports/base_port.py +125 -0
  134. xoa_driver/internals/hli_v1/ports/port_l23/__init__.py +0 -0
  135. xoa_driver/internals/hli_v1/ports/port_l23/bases/__init__.py +0 -0
  136. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_capture.py +70 -0
  137. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_l23.py +527 -0
  138. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_l23_genuine.py +229 -0
  139. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_reception_statistics.py +231 -0
  140. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_transceiver.py +117 -0
  141. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_transmission_statistics.py +131 -0
  142. xoa_driver/internals/hli_v1/ports/port_l23/chimera/__init__.py +0 -0
  143. xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/__init__.py +0 -0
  144. xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/_utils.py +15 -0
  145. xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/general.py +396 -0
  146. xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/shadow.py +104 -0
  147. xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/working.py +36 -0
  148. xoa_driver/internals/hli_v1/ports/port_l23/chimera/pe_custom_distribution.py +125 -0
  149. xoa_driver/internals/hli_v1/ports/port_l23/chimera/pe_distribution.py +174 -0
  150. xoa_driver/internals/hli_v1/ports/port_l23/chimera/port_chimera.py +119 -0
  151. xoa_driver/internals/hli_v1/ports/port_l23/chimera/port_emulation.py +244 -0
  152. xoa_driver/internals/hli_v1/ports/port_l23/chimera/reception_statistics.py +24 -0
  153. xoa_driver/internals/hli_v1/ports/port_l23/chimera/transmission_statistics.py +24 -0
  154. xoa_driver/internals/hli_v1/ports/port_l23/family_combi.py +37 -0
  155. xoa_driver/internals/hli_v1/ports/port_l23/family_d.py +51 -0
  156. xoa_driver/internals/hli_v1/ports/port_l23/family_e.py +107 -0
  157. xoa_driver/internals/hli_v1/ports/port_l23/family_f.py +151 -0
  158. xoa_driver/internals/hli_v1/ports/port_l23/family_g.py +77 -0
  159. xoa_driver/internals/hli_v1/ports/port_l23/family_h.py +67 -0
  160. xoa_driver/internals/hli_v1/ports/port_l23/family_i.py +84 -0
  161. xoa_driver/internals/hli_v1/ports/port_l23/family_j.py +68 -0
  162. xoa_driver/internals/hli_v1/ports/port_l23/family_k.py +73 -0
  163. xoa_driver/internals/hli_v1/ports/port_l23/family_l.py +82 -0
  164. xoa_driver/internals/hli_v1/ports/port_l23/family_l1.py +166 -0
  165. xoa_driver/internals/hli_v1/ports/port_l23/family_m.py +29 -0
  166. xoa_driver/internals/hli_v1/ports/port_l23/fault_jkl.py +24 -0
  167. xoa_driver/internals/hli_v1/ports/port_l23/freya_l1.py +722 -0
  168. xoa_driver/internals/hli_v1/ports/port_l23/pcs_pma_ghijkl.py +369 -0
  169. xoa_driver/internals/hli_v1/ports/port_l23/pcs_pma_ijkl_chimera.py +60 -0
  170. xoa_driver/internals/hli_v1/ports/port_l23/pcs_pma_l.py +78 -0
  171. xoa_driver/internals/hli_v1/ports/port_l23/port_l23ve.py +101 -0
  172. xoa_driver/internals/hli_v1/ports/port_l47/__init__.py +0 -0
  173. xoa_driver/internals/hli_v1/ports/port_l47/counters.py +174 -0
  174. xoa_driver/internals/hli_v1/ports/port_l47/main.py +228 -0
  175. xoa_driver/internals/hli_v1/ports/port_l47/packet_engine.py +31 -0
  176. xoa_driver/internals/hli_v1/revisions.py +11 -0
  177. xoa_driver/internals/hli_v1/testers/__init__.py +0 -0
  178. xoa_driver/internals/hli_v1/testers/_base_tester.py +259 -0
  179. xoa_driver/internals/hli_v1/testers/genuine/__init__.py +0 -0
  180. xoa_driver/internals/hli_v1/testers/genuine/l_23/__init__.py +0 -0
  181. xoa_driver/internals/hli_v1/testers/genuine/l_23/health.py +16 -0
  182. xoa_driver/internals/hli_v1/testers/genuine/l_23/rest_api.py +38 -0
  183. xoa_driver/internals/hli_v1/testers/genuine/l_23/time_keeper.py +57 -0
  184. xoa_driver/internals/hli_v1/testers/genuine/l_23/upload_file.py +29 -0
  185. xoa_driver/internals/hli_v1/testers/genuine/management_interface.py +42 -0
  186. xoa_driver/internals/hli_v1/testers/l23_tester.py +196 -0
  187. xoa_driver/internals/hli_v1/testers/l23ve_tester.py +114 -0
  188. xoa_driver/internals/hli_v1/testers/l47_tester.py +106 -0
  189. xoa_driver/internals/hli_v1/testers/l47ve_tester.py +54 -0
  190. xoa_driver/internals/hli_v2/__init__.py +0 -0
  191. xoa_driver/internals/hli_v2/indices/__init__.py +0 -0
  192. xoa_driver/internals/hli_v2/indices/base_index.py +39 -0
  193. xoa_driver/internals/hli_v2/indices/connection_group/__init__.py +0 -0
  194. xoa_driver/internals/hli_v2/indices/connection_group/cg.py +115 -0
  195. xoa_driver/internals/hli_v2/indices/connection_group/histogram.py +59 -0
  196. xoa_driver/internals/hli_v2/indices/connection_group/l2.py +71 -0
  197. xoa_driver/internals/hli_v2/indices/connection_group/l3.py +96 -0
  198. xoa_driver/internals/hli_v2/indices/connection_group/raw.py +148 -0
  199. xoa_driver/internals/hli_v2/indices/connection_group/replay.py +89 -0
  200. xoa_driver/internals/hli_v2/indices/connection_group/tcp.py +261 -0
  201. xoa_driver/internals/hli_v2/indices/connection_group/tls.py +166 -0
  202. xoa_driver/internals/hli_v2/indices/connection_group/udp.py +112 -0
  203. xoa_driver/internals/hli_v2/indices/connection_group/user_state.py +25 -0
  204. xoa_driver/internals/hli_v2/indices/filter/__init__.py +0 -0
  205. xoa_driver/internals/hli_v2/indices/filter/base_filter.py +50 -0
  206. xoa_driver/internals/hli_v2/indices/filter/genuine_filter.py +17 -0
  207. xoa_driver/internals/hli_v2/indices/length_term.py +44 -0
  208. xoa_driver/internals/hli_v2/indices/match_term.py +49 -0
  209. xoa_driver/internals/hli_v2/indices/port_dataset.py +53 -0
  210. xoa_driver/internals/hli_v2/indices/streams/__init__.py +0 -0
  211. xoa_driver/internals/hli_v2/indices/streams/base_stream.py +234 -0
  212. xoa_driver/internals/hli_v2/indices/streams/genuine_stream.py +32 -0
  213. xoa_driver/internals/hli_v2/modules/__init__.py +0 -0
  214. xoa_driver/internals/hli_v2/modules/__interfaces.py +21 -0
  215. xoa_driver/internals/hli_v2/modules/base_module.py +125 -0
  216. xoa_driver/internals/hli_v2/modules/module_chimera.py +358 -0
  217. xoa_driver/internals/hli_v2/modules/module_l23ve.py +58 -0
  218. xoa_driver/internals/hli_v2/modules/module_l47.py +230 -0
  219. xoa_driver/internals/hli_v2/modules/module_l47ve.py +8 -0
  220. xoa_driver/internals/hli_v2/modules/modules_l23/__init__.py +0 -0
  221. xoa_driver/internals/hli_v2/modules/modules_l23/family_combi.py +73 -0
  222. xoa_driver/internals/hli_v2/modules/modules_l23/family_d.py +75 -0
  223. xoa_driver/internals/hli_v2/modules/modules_l23/family_e.py +85 -0
  224. xoa_driver/internals/hli_v2/modules/modules_l23/family_f.py +144 -0
  225. xoa_driver/internals/hli_v2/modules/modules_l23/family_g.py +84 -0
  226. xoa_driver/internals/hli_v2/modules/modules_l23/family_h.py +40 -0
  227. xoa_driver/internals/hli_v2/modules/modules_l23/family_i.py +25 -0
  228. xoa_driver/internals/hli_v2/modules/modules_l23/family_j.py +25 -0
  229. xoa_driver/internals/hli_v2/modules/modules_l23/family_k.py +39 -0
  230. xoa_driver/internals/hli_v2/modules/modules_l23/family_l.py +55 -0
  231. xoa_driver/internals/hli_v2/modules/modules_l23/family_l1.py +797 -0
  232. xoa_driver/internals/hli_v2/modules/modules_l23/family_m.py +25 -0
  233. xoa_driver/internals/hli_v2/modules/modules_l23/family_n.py +40 -0
  234. xoa_driver/internals/hli_v2/modules/modules_l23/module_l23_base.py +339 -0
  235. xoa_driver/internals/hli_v2/ports/__init__.py +0 -0
  236. xoa_driver/internals/hli_v2/ports/base_port.py +105 -0
  237. xoa_driver/internals/hli_v2/ports/port_l23/__init__.py +0 -0
  238. xoa_driver/internals/hli_v2/ports/port_l23/bases/__init__.py +0 -0
  239. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_capture.py +64 -0
  240. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_l23.py +441 -0
  241. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_l23_genuine.py +172 -0
  242. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_reception_statistics.py +156 -0
  243. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_transceiver.py +117 -0
  244. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_transmission_statistics.py +59 -0
  245. xoa_driver/internals/hli_v2/ports/port_l23/chimera/__init__.py +0 -0
  246. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/__init__.py +0 -0
  247. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/_utils.py +15 -0
  248. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/general.py +340 -0
  249. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/shadow.py +99 -0
  250. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/working.py +36 -0
  251. xoa_driver/internals/hli_v2/ports/port_l23/chimera/pe_custom_distribution.py +116 -0
  252. xoa_driver/internals/hli_v2/ports/port_l23/chimera/pe_distribution.py +102 -0
  253. xoa_driver/internals/hli_v2/ports/port_l23/chimera/port_chimera.py +113 -0
  254. xoa_driver/internals/hli_v2/ports/port_l23/chimera/port_emulation.py +420 -0
  255. xoa_driver/internals/hli_v2/ports/port_l23/chimera/reception_statistics.py +22 -0
  256. xoa_driver/internals/hli_v2/ports/port_l23/chimera/transmission_statistics.py +22 -0
  257. xoa_driver/internals/hli_v2/ports/port_l23/family_combi.py +36 -0
  258. xoa_driver/internals/hli_v2/ports/port_l23/family_d.py +49 -0
  259. xoa_driver/internals/hli_v2/ports/port_l23/family_e.py +96 -0
  260. xoa_driver/internals/hli_v2/ports/port_l23/family_f.py +144 -0
  261. xoa_driver/internals/hli_v2/ports/port_l23/family_g.py +77 -0
  262. xoa_driver/internals/hli_v2/ports/port_l23/family_h.py +60 -0
  263. xoa_driver/internals/hli_v2/ports/port_l23/family_i.py +66 -0
  264. xoa_driver/internals/hli_v2/ports/port_l23/family_j.py +53 -0
  265. xoa_driver/internals/hli_v2/ports/port_l23/family_k.py +58 -0
  266. xoa_driver/internals/hli_v2/ports/port_l23/family_l.py +67 -0
  267. xoa_driver/internals/hli_v2/ports/port_l23/family_l1.py +149 -0
  268. xoa_driver/internals/hli_v2/ports/port_l23/family_m.py +28 -0
  269. xoa_driver/internals/hli_v2/ports/port_l23/fault_jkl.py +22 -0
  270. xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_ghijkl.py +342 -0
  271. xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_ijkl_chimera.py +50 -0
  272. xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_l.py +65 -0
  273. xoa_driver/internals/hli_v2/ports/port_l23/port_l23ve.py +81 -0
  274. xoa_driver/internals/hli_v2/ports/port_l47/__init__.py +0 -0
  275. xoa_driver/internals/hli_v2/ports/port_l47/counters.py +146 -0
  276. xoa_driver/internals/hli_v2/ports/port_l47/main.py +137 -0
  277. xoa_driver/internals/hli_v2/ports/port_l47/packet_engine.py +20 -0
  278. xoa_driver/internals/hli_v2/revisions.py +11 -0
  279. xoa_driver/internals/hli_v2/testers/__init__.py +0 -0
  280. xoa_driver/internals/hli_v2/testers/_base_tester.py +207 -0
  281. xoa_driver/internals/hli_v2/testers/genuine/__init__.py +0 -0
  282. xoa_driver/internals/hli_v2/testers/genuine/l_23/__init__.py +0 -0
  283. xoa_driver/internals/hli_v2/testers/genuine/l_23/health.py +16 -0
  284. xoa_driver/internals/hli_v2/testers/genuine/l_23/rest_api.py +34 -0
  285. xoa_driver/internals/hli_v2/testers/genuine/l_23/time_keeper.py +50 -0
  286. xoa_driver/internals/hli_v2/testers/genuine/l_23/upload_file.py +26 -0
  287. xoa_driver/internals/hli_v2/testers/genuine/management_interface.py +38 -0
  288. xoa_driver/internals/hli_v2/testers/l23_tester.py +159 -0
  289. xoa_driver/internals/hli_v2/testers/l23ve_tester.py +98 -0
  290. xoa_driver/internals/hli_v2/testers/l47_tester.py +95 -0
  291. xoa_driver/internals/hli_v2/testers/l47ve_tester.py +50 -0
  292. xoa_driver/internals/state_storage/__init__.py +0 -0
  293. xoa_driver/internals/state_storage/_speed_detector.py +121 -0
  294. xoa_driver/internals/state_storage/modules_state.py +128 -0
  295. xoa_driver/internals/state_storage/ports_state.py +154 -0
  296. xoa_driver/internals/state_storage/testers_state.py +104 -0
  297. xoa_driver/internals/utils/__init__.py +0 -0
  298. xoa_driver/internals/utils/attributes.py +33 -0
  299. xoa_driver/internals/utils/cap_id.py +63 -0
  300. xoa_driver/internals/utils/con_traffic_light.py +88 -0
  301. xoa_driver/internals/utils/indices/__init__.py +0 -0
  302. xoa_driver/internals/utils/indices/_interfaces.py +26 -0
  303. xoa_driver/internals/utils/indices/header_modifier_manager.py +56 -0
  304. xoa_driver/internals/utils/indices/index_manager.py +95 -0
  305. xoa_driver/internals/utils/indices/observer.py +17 -0
  306. xoa_driver/internals/utils/kind.py +19 -0
  307. xoa_driver/internals/utils/managers/__init__.py +0 -0
  308. xoa_driver/internals/utils/managers/abc.py +44 -0
  309. xoa_driver/internals/utils/managers/exceptions.py +22 -0
  310. xoa_driver/internals/utils/managers/modules_manager.py +118 -0
  311. xoa_driver/internals/utils/managers/ports_manager.py +116 -0
  312. xoa_driver/internals/utils/rev_tool.py +21 -0
  313. xoa_driver/internals/utils/session.py +117 -0
  314. xoa_driver/internals/warn.py +32 -0
  315. xoa_driver/lli.py +15 -0
  316. xoa_driver/misc.py +57 -0
  317. xoa_driver/modules.py +448 -0
  318. xoa_driver/ports.py +332 -0
  319. xoa_driver/testers.py +37 -0
  320. xoa_driver/utils.py +12 -0
  321. xoa_driver/v2/__init__.py +11 -0
  322. xoa_driver/v2/misc.py +77 -0
  323. xoa_driver/v2/modules.py +308 -0
  324. xoa_driver/v2/ports.py +232 -0
  325. xoa_driver/v2/testers.py +24 -0
@@ -0,0 +1,178 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+ import typing
4
+ import functools
5
+
6
+ from xoa_driver.internals.core.builders import (
7
+ build_get_request,
8
+ build_set_request
9
+ )
10
+ from xoa_driver.internals.core import interfaces
11
+ from xoa_driver.internals.core.token import Token
12
+ from xoa_driver.internals.core.transporter.registry import register_command
13
+ from xoa_driver.internals.core.transporter.protocol.payload import (
14
+ field,
15
+ RequestBodyStruct,
16
+ ResponseBodyStruct,
17
+ XmpInt,
18
+ XmpSequence,
19
+ )
20
+ from .enums import LengthCheckType
21
+
22
+
23
+ @register_command
24
+ @dataclass
25
+ class PL_INDICES:
26
+ """
27
+ The full list of which length terms are defined for a port. These are the sub-
28
+ index values that are used for the parameters defining the length-based matching
29
+ of packets received for the port. Setting the value of this parameter creates a
30
+ new empty length term for each value that is not already in use, and deletes
31
+ each length term that is not mentioned in the list. The same can be accomplished
32
+ one- length-term-at-a-time using the PL_CREATE and PL_DELETE commands.
33
+ """
34
+
35
+ code: typing.ClassVar[int] = 207
36
+ pushed: typing.ClassVar[bool] = True
37
+
38
+ _connection: 'interfaces.IConnection'
39
+ _module: int
40
+ _port: int
41
+
42
+ class GetDataAttr(ResponseBodyStruct):
43
+ length_term_xindices: typing.List[int] = field(XmpSequence(types_chunk=[XmpInt()]))
44
+ """list of integers, the sub-index of a length term definition for the port."""
45
+
46
+ class SetDataAttr(RequestBodyStruct):
47
+ length_term_xindices: typing.List[int] = field(XmpSequence(types_chunk=[XmpInt()]))
48
+ """list of integers, the sub-index of a length term definition for the port."""
49
+
50
+ def get(self) -> Token[GetDataAttr]:
51
+ """Get the full list of which length terms are defined for a port.
52
+
53
+ :return: the full list of which length terms are defined for a port
54
+ :rtype: PL_INDICES.GetDataAttr
55
+ """
56
+
57
+ return Token(self._connection, build_get_request(self, module=self._module, port=self._port))
58
+
59
+ def set(self, length_term_xindices: typing.List[int]) -> Token[None]:
60
+ """Create a new empty length term for each value that is not already in use, and deletes each length term that is not mentioned in the list.
61
+
62
+ :param length_term_xindices: the list of indices of length terms to be created on a port.
63
+ :type length_term_xindices: typing.List[int]
64
+ """
65
+
66
+ return Token(self._connection, build_set_request(self, module=self._module, port=self._port, length_term_xindices=length_term_xindices))
67
+
68
+
69
+ @register_command
70
+ @dataclass
71
+ class PL_CREATE:
72
+ """
73
+ Creates an empty length term definition with the specified sub-index value.
74
+ """
75
+
76
+ code: typing.ClassVar[int] = 208
77
+ pushed: typing.ClassVar[bool] = False
78
+
79
+ _connection: 'interfaces.IConnection'
80
+ _module: int
81
+ _port: int
82
+ _length_term_xindex: int
83
+
84
+ class SetDataAttr(RequestBodyStruct):
85
+ pass
86
+
87
+ def set(self) -> Token[None]:
88
+ """Creates an empty length term definition with the specified sub-index value.
89
+ """
90
+
91
+ return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._length_term_xindex]))
92
+
93
+
94
+ @register_command
95
+ @dataclass
96
+ class PL_DELETE:
97
+ """
98
+ Deletes the length term definition with the specified sub-index value. A length
99
+ term cannot be deleted while it is used in the condition of any filter for the
100
+ port.
101
+ """
102
+
103
+ code: typing.ClassVar[int] = 209
104
+ pushed: typing.ClassVar[bool] = False
105
+
106
+ _connection: 'interfaces.IConnection'
107
+ _module: int
108
+ _port: int
109
+ _length_term_xindex: int
110
+
111
+ class SetDataAttr(RequestBodyStruct):
112
+ pass
113
+
114
+ def set(self) -> Token[None]:
115
+ """Deletes the length term definition with the specified sub-index value.
116
+ """
117
+
118
+ return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._length_term_xindex]))
119
+
120
+
121
+ @register_command
122
+ @dataclass
123
+ class PL_LENGTH:
124
+ """
125
+ The specification for a length-based check that is applied on the packets
126
+ received on the port.
127
+ """
128
+
129
+ code: typing.ClassVar[int] = 210
130
+ pushed: typing.ClassVar[bool] = True
131
+
132
+ _connection: 'interfaces.IConnection'
133
+ _module: int
134
+ _port: int
135
+ _length_term_xindex: int
136
+
137
+ class GetDataAttr(ResponseBodyStruct):
138
+ length_check_type: LengthCheckType = field(XmpInt())
139
+ """coded integer, whether to test for shorter-than or longer-than."""
140
+ size: int = field(XmpInt())
141
+ """integer, the value to compare the packet length against."""
142
+
143
+ class SetDataAttr(RequestBodyStruct):
144
+ length_check_type: LengthCheckType = field(XmpInt())
145
+ """coded integer, whether to test for shorter-than or longer-than."""
146
+ size: int = field(XmpInt())
147
+ """integer, the value to compare the packet length against."""
148
+
149
+ def get(self) -> Token[GetDataAttr]:
150
+ """Get the configuration of a length-based check that is applied on the packets received on a port.
151
+
152
+ :return: whether to test for shorter-than or longer-than, and the value to compare the packet length against
153
+ :rtype: PL_LENGTH.GetDataAttr
154
+ """
155
+
156
+ return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._length_term_xindex]))
157
+
158
+ def set(self, length_check_type: LengthCheckType, size: int) -> Token[None]:
159
+ """Set the configuration of a length-based check that is applied on the packets received on a port.
160
+
161
+ :param length_check_type: whether to test for shorter-than or longer-than
162
+ :type length_check_type: LengthCheckType
163
+ :param size: the value to compare the packet length against
164
+ :type size: int
165
+ """
166
+
167
+ return Token(
168
+ self._connection,
169
+ build_set_request(self, module=self._module, port=self._port, indices=[self._length_term_xindex], length_check_type=length_check_type, size=size)
170
+ )
171
+
172
+ set_at_most = functools.partialmethod(set, LengthCheckType.AT_MOST)
173
+ """Set the length check to be short than or equal to the given length (at most).
174
+ """
175
+
176
+ set_at_least = functools.partialmethod(set, LengthCheckType.AT_LEAST)
177
+ """Set the length check to be longer than or equal to the given length (at least).
178
+ """
@@ -0,0 +1,256 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+ import typing
4
+
5
+ from xoa_driver.internals.core.builders import (
6
+ build_get_request,
7
+ build_set_request
8
+ )
9
+ from xoa_driver.internals.core import interfaces
10
+ from xoa_driver.internals.core.token import Token
11
+ from xoa_driver.internals.core.transporter.registry import register_command
12
+ from xoa_driver.internals.core.transporter.protocol.payload import (
13
+ field,
14
+ RequestBodyStruct,
15
+ ResponseBodyStruct,
16
+ XmpByte,
17
+ XmpHex,
18
+ XmpInt,
19
+ XmpSequence,
20
+ Hex,
21
+ )
22
+ from .enums import ProtocolOption
23
+
24
+
25
+ @register_command
26
+ @dataclass
27
+ class PM_INDICES:
28
+ """
29
+ The full list of which match terms are defined for a port. These are the sub-
30
+ index values that are used for the parameters defining the content-based
31
+ matching of packets received for the port. Setting the value of this parameter
32
+ creates a new empty match term for each value that is not already in use, and
33
+ deletes each match term that is not mentioned in the list. The same can be
34
+ accomplished one match-term-at-a-time using the PM_CREATE and PM_DELETE commands.
35
+ """
36
+
37
+ code: typing.ClassVar[int] = 200
38
+ pushed: typing.ClassVar[bool] = True
39
+
40
+ _connection: 'interfaces.IConnection'
41
+ _module: int
42
+ _port: int
43
+
44
+ class GetDataAttr(ResponseBodyStruct):
45
+ match_term_xindices: typing.List[int] = field(XmpSequence(types_chunk=[XmpInt()]))
46
+ """list of integers, the sub-index of a match term definition for the port."""
47
+
48
+ class SetDataAttr(RequestBodyStruct):
49
+ match_term_xindices: typing.List[int] = field(XmpSequence(types_chunk=[XmpInt()]))
50
+ """list of integers, the sub-index of a match term definition for the port."""
51
+
52
+ def get(self) -> Token[GetDataAttr]:
53
+ """Get the full list of which match terms are defined for a port.
54
+
55
+ :return: the full list of which match terms are defined for a port
56
+ :rtype: PM_INDICES.GetDataAttr
57
+ """
58
+
59
+ return Token(self._connection, build_get_request(self, module=self._module, port=self._port))
60
+
61
+ def set(self, match_term_xindices: typing.List[int]) -> Token[None]:
62
+ """Creates a new empty match term for each value that is not already in use, and delete each match term that is not mentioned in the list
63
+
64
+ :param match_term_xindices: the sub-index of a match term definition for the port
65
+ :type match_term_xindices: typing.List[int]
66
+ """
67
+
68
+ return Token(self._connection, build_set_request(self, module=self._module, port=self._port, match_term_xindices=match_term_xindices))
69
+
70
+
71
+ @register_command
72
+ @dataclass
73
+ class PM_CREATE:
74
+ """
75
+ Creates an empty match term definition with the specified sub-index value.
76
+ """
77
+
78
+ code: typing.ClassVar[int] = 201
79
+ pushed: typing.ClassVar[bool] = False
80
+
81
+ _connection: 'interfaces.IConnection'
82
+ _module: int
83
+ _port: int
84
+ _match_term_xindex: int
85
+
86
+ class SetDataAttr(RequestBodyStruct):
87
+ pass
88
+
89
+ def set(self) -> Token[None]:
90
+ """Creates an empty match term definition with the specified sub-index value.
91
+ """
92
+
93
+ return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._match_term_xindex]))
94
+
95
+
96
+ @register_command
97
+ @dataclass
98
+ class PM_DELETE:
99
+ """
100
+ Deletes the match term definition with the specified sub-index value. A match
101
+ term cannot be deleted while it is used in the condition of any filter for the
102
+ port.
103
+ """
104
+
105
+ code: typing.ClassVar[int] = 202
106
+ pushed: typing.ClassVar[bool] = False
107
+
108
+ _connection: 'interfaces.IConnection'
109
+ _module: int
110
+ _port: int
111
+ _match_term_xindex: int
112
+
113
+ class SetDataAttr(RequestBodyStruct):
114
+ pass
115
+
116
+ def set(self) -> Token[None]:
117
+ """Deletes the match term definition with the specified sub-index value.
118
+ """
119
+
120
+ return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._match_term_xindex]))
121
+
122
+
123
+ @register_command
124
+ @dataclass
125
+ class PM_PROTOCOL:
126
+ """
127
+ The protocol segments assumed on the packets received on the port. This is
128
+ mainly for information purposes, and helps you identify which portion of the
129
+ packet header is being matched. The actual value definition of the match
130
+ position is specified with PM_POSITION.
131
+ """
132
+
133
+ code: typing.ClassVar[int] = 203
134
+ pushed: typing.ClassVar[bool] = True
135
+
136
+ _connection: 'interfaces.IConnection'
137
+ _module: int
138
+ _port: int
139
+ _match_term_xindex: int
140
+
141
+ class GetDataAttr(ResponseBodyStruct):
142
+ segments: typing.List[ProtocolOption] = field(XmpSequence(types_chunk=[XmpByte()]))
143
+ """list of coded bytes, a number specifying a built-in protocol segment: Uses the same coded values as the PS_HEADERPROTOCOL parameter."""
144
+
145
+ class SetDataAttr(RequestBodyStruct):
146
+ segments: typing.List[ProtocolOption] = field(XmpSequence(types_chunk=[XmpByte()]))
147
+ """list of coded bytes, a number specifying a built-in protocol segment: Uses the same coded values as the PS_HEADERPROTOCOL parameter."""
148
+
149
+ def get(self) -> Token[GetDataAttr]:
150
+ """Get the protocol segments assumed on the packets received on the port.
151
+
152
+ :return: a number specifying a built-in protocol segment: Uses the same coded values as the PS_HEADERPROTOCOL parameter.
153
+ :rtype: PM_PROTOCOL.GetDataAttr
154
+ """
155
+
156
+ return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._match_term_xindex]))
157
+
158
+ def set(self, segments: typing.List[ProtocolOption]) -> Token[None]:
159
+ """Set the protocol segments assumed on the packets received on the port.
160
+
161
+ :param segments: a number specifying a built-in protocol segment: Uses the same coded values as the PS_HEADERPROTOCOL parameter
162
+ :type segments: typing.List[ProtocolOption]
163
+ """
164
+
165
+ return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._match_term_xindex], segments=segments))
166
+
167
+
168
+ @register_command
169
+ @dataclass
170
+ class PM_POSITION:
171
+ """
172
+ The position within each received packet where content matching begins for the port.
173
+ """
174
+
175
+ code: typing.ClassVar[int] = 204
176
+ pushed: typing.ClassVar[bool] = True
177
+
178
+ _connection: 'interfaces.IConnection'
179
+ _module: int
180
+ _port: int
181
+ _match_term_xindex: int
182
+
183
+ class GetDataAttr(ResponseBodyStruct):
184
+ byte_offset: int = field(XmpInt())
185
+ """integer, offset from the start of the packet bytes."""
186
+
187
+ class SetDataAttr(RequestBodyStruct):
188
+ byte_offset: int = field(XmpInt())
189
+ """integer, offset from the start of the packet bytes."""
190
+
191
+ def get(self) -> Token[GetDataAttr]:
192
+ """Get the position within each received packet where content matching begins for the port.
193
+
194
+ :return: offset from the start of the packet bytes
195
+ :rtype: PM_POSITION.GetDataAttr
196
+ """
197
+
198
+ return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._match_term_xindex]))
199
+
200
+ def set(self, byte_offset: int) -> Token[None]:
201
+ """Set the position within each received packet where content matching begins for the port.
202
+
203
+ :param byte_offset: offset from the start of the packet bytes
204
+ :type byte_offset: int
205
+ """
206
+
207
+ return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._match_term_xindex], byte_offset=byte_offset))
208
+
209
+
210
+ @register_command
211
+ @dataclass
212
+ class PM_MATCH:
213
+ """
214
+ The value that must be found at the match term position for packets received on
215
+ the port. The mask can make certain bit positions don't-care.
216
+ """
217
+
218
+ code: typing.ClassVar[int] = 205
219
+ pushed: typing.ClassVar[bool] = True
220
+
221
+ _connection: 'interfaces.IConnection'
222
+ _module: int
223
+ _port: int
224
+ _match_term_xindex: int
225
+
226
+ class GetDataAttr(ResponseBodyStruct):
227
+ mask: Hex = field(XmpHex(size=8))
228
+ """eight hex bytes, which bits are significant in the match operation."""
229
+ value: Hex = field(XmpHex(size=8))
230
+ """eight hex bytes, the value that must be found for the match term to be true."""
231
+
232
+ class SetDataAttr(RequestBodyStruct):
233
+ mask: Hex = field(XmpHex(size=8))
234
+ """eight hex bytes, which bits are significant in the match operation."""
235
+ value: Hex = field(XmpHex(size=8))
236
+ """eight hex bytes, the value that must be found for the match term to be true."""
237
+
238
+ def get(self) -> Token[GetDataAttr]:
239
+ """Get the value that must be found at the match term position for packets received on the port.
240
+
241
+ :return: which bits are significant in the match operation, and the value that must be found for the match term to be true.
242
+ :rtype: PM_MATCH.GetDataAttr
243
+ """
244
+
245
+ return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._match_term_xindex]))
246
+
247
+ def set(self, mask: Hex, value: Hex) -> Token[None]:
248
+ """Set the value that must be found at the match term position for packets received on the port.
249
+
250
+ :param mask: which bits are significant in the match operation
251
+ :type mask: Hex
252
+ :param value: the value that must be found for the match term to be true
253
+ :type value: Hex
254
+ """
255
+
256
+ return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._match_term_xindex], mask=mask, value=value))