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.
- tdl_xoa_driver-1.0.0b1.dist-info/LICENSE +202 -0
- tdl_xoa_driver-1.0.0b1.dist-info/METADATA +177 -0
- tdl_xoa_driver-1.0.0b1.dist-info/RECORD +325 -0
- tdl_xoa_driver-1.0.0b1.dist-info/WHEEL +5 -0
- tdl_xoa_driver-1.0.0b1.dist-info/top_level.txt +1 -0
- xoa_driver/__init__.py +2 -0
- xoa_driver/enums.py +399 -0
- xoa_driver/exceptions.py +77 -0
- xoa_driver/functions/__init__.py +0 -0
- xoa_driver/functions/anlt.py +744 -0
- xoa_driver/functions/anlt_ll_debug.py +429 -0
- xoa_driver/functions/cli.py +581 -0
- xoa_driver/functions/exceptions.py +72 -0
- xoa_driver/functions/headers.py +608 -0
- xoa_driver/functions/mgmt.py +515 -0
- xoa_driver/functions/tools.py +256 -0
- xoa_driver/hlfuncs.py +18 -0
- xoa_driver/internals/__init__.py +0 -0
- xoa_driver/internals/commands/__init__.py +31 -0
- xoa_driver/internals/commands/c_commands.py +2041 -0
- xoa_driver/internals/commands/enums.py +3289 -0
- xoa_driver/internals/commands/m4_commands.py +700 -0
- xoa_driver/internals/commands/m4e_commands.py +107 -0
- xoa_driver/internals/commands/m_commands.py +1875 -0
- xoa_driver/internals/commands/p4_commands.py +2221 -0
- xoa_driver/internals/commands/p4e_commands.py +160 -0
- xoa_driver/internals/commands/p4g_commands.py +7253 -0
- xoa_driver/internals/commands/p_commands.py +6000 -0
- xoa_driver/internals/commands/pc_commands.py +335 -0
- xoa_driver/internals/commands/pd_commands.py +355 -0
- xoa_driver/internals/commands/pe_commands.py +1018 -0
- xoa_driver/internals/commands/pec_commands.py +265 -0
- xoa_driver/internals/commands/ped_commands.py +1034 -0
- xoa_driver/internals/commands/pef_commands.py +2216 -0
- xoa_driver/internals/commands/pf_commands.py +379 -0
- xoa_driver/internals/commands/pl1_commands.py +1588 -0
- xoa_driver/internals/commands/pl_commands.py +178 -0
- xoa_driver/internals/commands/pm_commands.py +256 -0
- xoa_driver/internals/commands/pp_commands.py +2341 -0
- xoa_driver/internals/commands/pr_commands.py +812 -0
- xoa_driver/internals/commands/ps_commands.py +2311 -0
- xoa_driver/internals/commands/pt_commands.py +370 -0
- xoa_driver/internals/commands/px_commands.py +303 -0
- xoa_driver/internals/commands/subtypes.py +86 -0
- xoa_driver/internals/core/__init__.py +0 -0
- xoa_driver/internals/core/builders.py +39 -0
- xoa_driver/internals/core/exceptions.py +69 -0
- xoa_driver/internals/core/funcs.py +81 -0
- xoa_driver/internals/core/funcs.pyi +1072 -0
- xoa_driver/internals/core/interfaces.py +47 -0
- xoa_driver/internals/core/token.py +44 -0
- xoa_driver/internals/core/transporter/__init__.py +0 -0
- xoa_driver/internals/core/transporter/_processor.py +83 -0
- xoa_driver/internals/core/transporter/_publisher.py +101 -0
- xoa_driver/internals/core/transporter/_request_id_counter.py +28 -0
- xoa_driver/internals/core/transporter/_stream.py +99 -0
- xoa_driver/internals/core/transporter/_typings.py +43 -0
- xoa_driver/internals/core/transporter/exceptions.py +44 -0
- xoa_driver/internals/core/transporter/handler.py +127 -0
- xoa_driver/internals/core/transporter/logger/__init__.py +10 -0
- xoa_driver/internals/core/transporter/logger/__logger.py +94 -0
- xoa_driver/internals/core/transporter/logger/__state_off.py +32 -0
- xoa_driver/internals/core/transporter/logger/__state_on_default.py +70 -0
- xoa_driver/internals/core/transporter/logger/__state_on_loguru.py +51 -0
- xoa_driver/internals/core/transporter/logger/__state_on_user.py +48 -0
- xoa_driver/internals/core/transporter/protocol/__init__.py +0 -0
- xoa_driver/internals/core/transporter/protocol/_constants.py +77 -0
- xoa_driver/internals/core/transporter/protocol/_utils.py +59 -0
- xoa_driver/internals/core/transporter/protocol/exceptions.py +271 -0
- xoa_driver/internals/core/transporter/protocol/payload/__init__.py +70 -0
- xoa_driver/internals/core/transporter/protocol/payload/base_struct.py +283 -0
- xoa_driver/internals/core/transporter/protocol/payload/descriptor.py +119 -0
- xoa_driver/internals/core/transporter/protocol/payload/exceptions.py +20 -0
- xoa_driver/internals/core/transporter/protocol/payload/field.py +296 -0
- xoa_driver/internals/core/transporter/protocol/payload/types.py +173 -0
- xoa_driver/internals/core/transporter/protocol/payload/utils.py +53 -0
- xoa_driver/internals/core/transporter/protocol/struct_header.py +123 -0
- xoa_driver/internals/core/transporter/protocol/struct_request.py +65 -0
- xoa_driver/internals/core/transporter/protocol/struct_response.py +89 -0
- xoa_driver/internals/core/transporter/registry.py +43 -0
- xoa_driver/internals/exceptions/__init__.py +9 -0
- xoa_driver/internals/exceptions/modules.py +13 -0
- xoa_driver/internals/exceptions/testers.py +21 -0
- xoa_driver/internals/hli_v1/__init__.py +0 -0
- xoa_driver/internals/hli_v1/indices/__init__.py +0 -0
- xoa_driver/internals/hli_v1/indices/base_index.py +39 -0
- xoa_driver/internals/hli_v1/indices/connection_group/__init__.py +0 -0
- xoa_driver/internals/hli_v1/indices/connection_group/cg.py +186 -0
- xoa_driver/internals/hli_v1/indices/connection_group/histogram.py +78 -0
- xoa_driver/internals/hli_v1/indices/connection_group/l2.py +94 -0
- xoa_driver/internals/hli_v1/indices/connection_group/l3.py +130 -0
- xoa_driver/internals/hli_v1/indices/connection_group/raw.py +200 -0
- xoa_driver/internals/hli_v1/indices/connection_group/replay.py +109 -0
- xoa_driver/internals/hli_v1/indices/connection_group/tcp.py +314 -0
- xoa_driver/internals/hli_v1/indices/connection_group/tls.py +198 -0
- xoa_driver/internals/hli_v1/indices/connection_group/udp.py +133 -0
- xoa_driver/internals/hli_v1/indices/connection_group/user_state.py +28 -0
- xoa_driver/internals/hli_v1/indices/filter/__init__.py +0 -0
- xoa_driver/internals/hli_v1/indices/filter/base_filter.py +65 -0
- xoa_driver/internals/hli_v1/indices/filter/genuine_filter.py +20 -0
- xoa_driver/internals/hli_v1/indices/length_term.py +49 -0
- xoa_driver/internals/hli_v1/indices/macsecscs/__init__.py +0 -0
- xoa_driver/internals/hli_v1/indices/macsecscs/base_macsecsc.py +224 -0
- xoa_driver/internals/hli_v1/indices/macsecscs/genuine_macsecsc.py +72 -0
- xoa_driver/internals/hli_v1/indices/match_term.py +64 -0
- xoa_driver/internals/hli_v1/indices/port_dataset.py +72 -0
- xoa_driver/internals/hli_v1/indices/streams/__init__.py +0 -0
- xoa_driver/internals/hli_v1/indices/streams/base_stream.py +405 -0
- xoa_driver/internals/hli_v1/indices/streams/genuine_stream.py +64 -0
- xoa_driver/internals/hli_v1/modules/__init__.py +0 -0
- xoa_driver/internals/hli_v1/modules/__interfaces.py +21 -0
- xoa_driver/internals/hli_v1/modules/base_module.py +138 -0
- xoa_driver/internals/hli_v1/modules/module_chimera.py +366 -0
- xoa_driver/internals/hli_v1/modules/module_l23ve.py +73 -0
- xoa_driver/internals/hli_v1/modules/module_l47.py +397 -0
- xoa_driver/internals/hli_v1/modules/module_l47ve.py +9 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/__init__.py +0 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/family_combi.py +83 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/family_d.py +75 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/family_e.py +85 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/family_f.py +145 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/family_g.py +84 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/family_h.py +40 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/family_i.py +25 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/family_j.py +25 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/family_k.py +39 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/family_l.py +55 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/family_l1.py +800 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/family_m.py +25 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/family_n.py +40 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/module_l23_base.py +383 -0
- xoa_driver/internals/hli_v1/ports/__init__.py +0 -0
- xoa_driver/internals/hli_v1/ports/base_port.py +125 -0
- xoa_driver/internals/hli_v1/ports/port_l23/__init__.py +0 -0
- xoa_driver/internals/hli_v1/ports/port_l23/bases/__init__.py +0 -0
- xoa_driver/internals/hli_v1/ports/port_l23/bases/port_capture.py +70 -0
- xoa_driver/internals/hli_v1/ports/port_l23/bases/port_l23.py +527 -0
- xoa_driver/internals/hli_v1/ports/port_l23/bases/port_l23_genuine.py +229 -0
- xoa_driver/internals/hli_v1/ports/port_l23/bases/port_reception_statistics.py +231 -0
- xoa_driver/internals/hli_v1/ports/port_l23/bases/port_transceiver.py +117 -0
- xoa_driver/internals/hli_v1/ports/port_l23/bases/port_transmission_statistics.py +131 -0
- xoa_driver/internals/hli_v1/ports/port_l23/chimera/__init__.py +0 -0
- xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/__init__.py +0 -0
- xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/_utils.py +15 -0
- xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/general.py +396 -0
- xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/shadow.py +104 -0
- xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/working.py +36 -0
- xoa_driver/internals/hli_v1/ports/port_l23/chimera/pe_custom_distribution.py +125 -0
- xoa_driver/internals/hli_v1/ports/port_l23/chimera/pe_distribution.py +174 -0
- xoa_driver/internals/hli_v1/ports/port_l23/chimera/port_chimera.py +119 -0
- xoa_driver/internals/hli_v1/ports/port_l23/chimera/port_emulation.py +244 -0
- xoa_driver/internals/hli_v1/ports/port_l23/chimera/reception_statistics.py +24 -0
- xoa_driver/internals/hli_v1/ports/port_l23/chimera/transmission_statistics.py +24 -0
- xoa_driver/internals/hli_v1/ports/port_l23/family_combi.py +37 -0
- xoa_driver/internals/hli_v1/ports/port_l23/family_d.py +51 -0
- xoa_driver/internals/hli_v1/ports/port_l23/family_e.py +107 -0
- xoa_driver/internals/hli_v1/ports/port_l23/family_f.py +151 -0
- xoa_driver/internals/hli_v1/ports/port_l23/family_g.py +77 -0
- xoa_driver/internals/hli_v1/ports/port_l23/family_h.py +67 -0
- xoa_driver/internals/hli_v1/ports/port_l23/family_i.py +84 -0
- xoa_driver/internals/hli_v1/ports/port_l23/family_j.py +68 -0
- xoa_driver/internals/hli_v1/ports/port_l23/family_k.py +73 -0
- xoa_driver/internals/hli_v1/ports/port_l23/family_l.py +82 -0
- xoa_driver/internals/hli_v1/ports/port_l23/family_l1.py +166 -0
- xoa_driver/internals/hli_v1/ports/port_l23/family_m.py +29 -0
- xoa_driver/internals/hli_v1/ports/port_l23/fault_jkl.py +24 -0
- xoa_driver/internals/hli_v1/ports/port_l23/freya_l1.py +722 -0
- xoa_driver/internals/hli_v1/ports/port_l23/pcs_pma_ghijkl.py +369 -0
- xoa_driver/internals/hli_v1/ports/port_l23/pcs_pma_ijkl_chimera.py +60 -0
- xoa_driver/internals/hli_v1/ports/port_l23/pcs_pma_l.py +78 -0
- xoa_driver/internals/hli_v1/ports/port_l23/port_l23ve.py +101 -0
- xoa_driver/internals/hli_v1/ports/port_l47/__init__.py +0 -0
- xoa_driver/internals/hli_v1/ports/port_l47/counters.py +174 -0
- xoa_driver/internals/hli_v1/ports/port_l47/main.py +228 -0
- xoa_driver/internals/hli_v1/ports/port_l47/packet_engine.py +31 -0
- xoa_driver/internals/hli_v1/revisions.py +11 -0
- xoa_driver/internals/hli_v1/testers/__init__.py +0 -0
- xoa_driver/internals/hli_v1/testers/_base_tester.py +259 -0
- xoa_driver/internals/hli_v1/testers/genuine/__init__.py +0 -0
- xoa_driver/internals/hli_v1/testers/genuine/l_23/__init__.py +0 -0
- xoa_driver/internals/hli_v1/testers/genuine/l_23/health.py +16 -0
- xoa_driver/internals/hli_v1/testers/genuine/l_23/rest_api.py +38 -0
- xoa_driver/internals/hli_v1/testers/genuine/l_23/time_keeper.py +57 -0
- xoa_driver/internals/hli_v1/testers/genuine/l_23/upload_file.py +29 -0
- xoa_driver/internals/hli_v1/testers/genuine/management_interface.py +42 -0
- xoa_driver/internals/hli_v1/testers/l23_tester.py +196 -0
- xoa_driver/internals/hli_v1/testers/l23ve_tester.py +114 -0
- xoa_driver/internals/hli_v1/testers/l47_tester.py +106 -0
- xoa_driver/internals/hli_v1/testers/l47ve_tester.py +54 -0
- xoa_driver/internals/hli_v2/__init__.py +0 -0
- xoa_driver/internals/hli_v2/indices/__init__.py +0 -0
- xoa_driver/internals/hli_v2/indices/base_index.py +39 -0
- xoa_driver/internals/hli_v2/indices/connection_group/__init__.py +0 -0
- xoa_driver/internals/hli_v2/indices/connection_group/cg.py +115 -0
- xoa_driver/internals/hli_v2/indices/connection_group/histogram.py +59 -0
- xoa_driver/internals/hli_v2/indices/connection_group/l2.py +71 -0
- xoa_driver/internals/hli_v2/indices/connection_group/l3.py +96 -0
- xoa_driver/internals/hli_v2/indices/connection_group/raw.py +148 -0
- xoa_driver/internals/hli_v2/indices/connection_group/replay.py +89 -0
- xoa_driver/internals/hli_v2/indices/connection_group/tcp.py +261 -0
- xoa_driver/internals/hli_v2/indices/connection_group/tls.py +166 -0
- xoa_driver/internals/hli_v2/indices/connection_group/udp.py +112 -0
- xoa_driver/internals/hli_v2/indices/connection_group/user_state.py +25 -0
- xoa_driver/internals/hli_v2/indices/filter/__init__.py +0 -0
- xoa_driver/internals/hli_v2/indices/filter/base_filter.py +50 -0
- xoa_driver/internals/hli_v2/indices/filter/genuine_filter.py +17 -0
- xoa_driver/internals/hli_v2/indices/length_term.py +44 -0
- xoa_driver/internals/hli_v2/indices/match_term.py +49 -0
- xoa_driver/internals/hli_v2/indices/port_dataset.py +53 -0
- xoa_driver/internals/hli_v2/indices/streams/__init__.py +0 -0
- xoa_driver/internals/hli_v2/indices/streams/base_stream.py +234 -0
- xoa_driver/internals/hli_v2/indices/streams/genuine_stream.py +32 -0
- xoa_driver/internals/hli_v2/modules/__init__.py +0 -0
- xoa_driver/internals/hli_v2/modules/__interfaces.py +21 -0
- xoa_driver/internals/hli_v2/modules/base_module.py +125 -0
- xoa_driver/internals/hli_v2/modules/module_chimera.py +358 -0
- xoa_driver/internals/hli_v2/modules/module_l23ve.py +58 -0
- xoa_driver/internals/hli_v2/modules/module_l47.py +230 -0
- xoa_driver/internals/hli_v2/modules/module_l47ve.py +8 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/__init__.py +0 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/family_combi.py +73 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/family_d.py +75 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/family_e.py +85 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/family_f.py +144 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/family_g.py +84 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/family_h.py +40 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/family_i.py +25 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/family_j.py +25 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/family_k.py +39 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/family_l.py +55 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/family_l1.py +797 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/family_m.py +25 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/family_n.py +40 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/module_l23_base.py +339 -0
- xoa_driver/internals/hli_v2/ports/__init__.py +0 -0
- xoa_driver/internals/hli_v2/ports/base_port.py +105 -0
- xoa_driver/internals/hli_v2/ports/port_l23/__init__.py +0 -0
- xoa_driver/internals/hli_v2/ports/port_l23/bases/__init__.py +0 -0
- xoa_driver/internals/hli_v2/ports/port_l23/bases/port_capture.py +64 -0
- xoa_driver/internals/hli_v2/ports/port_l23/bases/port_l23.py +441 -0
- xoa_driver/internals/hli_v2/ports/port_l23/bases/port_l23_genuine.py +172 -0
- xoa_driver/internals/hli_v2/ports/port_l23/bases/port_reception_statistics.py +156 -0
- xoa_driver/internals/hli_v2/ports/port_l23/bases/port_transceiver.py +117 -0
- xoa_driver/internals/hli_v2/ports/port_l23/bases/port_transmission_statistics.py +59 -0
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/__init__.py +0 -0
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/__init__.py +0 -0
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/_utils.py +15 -0
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/general.py +340 -0
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/shadow.py +99 -0
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/working.py +36 -0
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/pe_custom_distribution.py +116 -0
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/pe_distribution.py +102 -0
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/port_chimera.py +113 -0
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/port_emulation.py +420 -0
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/reception_statistics.py +22 -0
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/transmission_statistics.py +22 -0
- xoa_driver/internals/hli_v2/ports/port_l23/family_combi.py +36 -0
- xoa_driver/internals/hli_v2/ports/port_l23/family_d.py +49 -0
- xoa_driver/internals/hli_v2/ports/port_l23/family_e.py +96 -0
- xoa_driver/internals/hli_v2/ports/port_l23/family_f.py +144 -0
- xoa_driver/internals/hli_v2/ports/port_l23/family_g.py +77 -0
- xoa_driver/internals/hli_v2/ports/port_l23/family_h.py +60 -0
- xoa_driver/internals/hli_v2/ports/port_l23/family_i.py +66 -0
- xoa_driver/internals/hli_v2/ports/port_l23/family_j.py +53 -0
- xoa_driver/internals/hli_v2/ports/port_l23/family_k.py +58 -0
- xoa_driver/internals/hli_v2/ports/port_l23/family_l.py +67 -0
- xoa_driver/internals/hli_v2/ports/port_l23/family_l1.py +149 -0
- xoa_driver/internals/hli_v2/ports/port_l23/family_m.py +28 -0
- xoa_driver/internals/hli_v2/ports/port_l23/fault_jkl.py +22 -0
- xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_ghijkl.py +342 -0
- xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_ijkl_chimera.py +50 -0
- xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_l.py +65 -0
- xoa_driver/internals/hli_v2/ports/port_l23/port_l23ve.py +81 -0
- xoa_driver/internals/hli_v2/ports/port_l47/__init__.py +0 -0
- xoa_driver/internals/hli_v2/ports/port_l47/counters.py +146 -0
- xoa_driver/internals/hli_v2/ports/port_l47/main.py +137 -0
- xoa_driver/internals/hli_v2/ports/port_l47/packet_engine.py +20 -0
- xoa_driver/internals/hli_v2/revisions.py +11 -0
- xoa_driver/internals/hli_v2/testers/__init__.py +0 -0
- xoa_driver/internals/hli_v2/testers/_base_tester.py +207 -0
- xoa_driver/internals/hli_v2/testers/genuine/__init__.py +0 -0
- xoa_driver/internals/hli_v2/testers/genuine/l_23/__init__.py +0 -0
- xoa_driver/internals/hli_v2/testers/genuine/l_23/health.py +16 -0
- xoa_driver/internals/hli_v2/testers/genuine/l_23/rest_api.py +34 -0
- xoa_driver/internals/hli_v2/testers/genuine/l_23/time_keeper.py +50 -0
- xoa_driver/internals/hli_v2/testers/genuine/l_23/upload_file.py +26 -0
- xoa_driver/internals/hli_v2/testers/genuine/management_interface.py +38 -0
- xoa_driver/internals/hli_v2/testers/l23_tester.py +159 -0
- xoa_driver/internals/hli_v2/testers/l23ve_tester.py +98 -0
- xoa_driver/internals/hli_v2/testers/l47_tester.py +95 -0
- xoa_driver/internals/hli_v2/testers/l47ve_tester.py +50 -0
- xoa_driver/internals/state_storage/__init__.py +0 -0
- xoa_driver/internals/state_storage/_speed_detector.py +121 -0
- xoa_driver/internals/state_storage/modules_state.py +128 -0
- xoa_driver/internals/state_storage/ports_state.py +154 -0
- xoa_driver/internals/state_storage/testers_state.py +104 -0
- xoa_driver/internals/utils/__init__.py +0 -0
- xoa_driver/internals/utils/attributes.py +33 -0
- xoa_driver/internals/utils/cap_id.py +63 -0
- xoa_driver/internals/utils/con_traffic_light.py +88 -0
- xoa_driver/internals/utils/indices/__init__.py +0 -0
- xoa_driver/internals/utils/indices/_interfaces.py +26 -0
- xoa_driver/internals/utils/indices/header_modifier_manager.py +56 -0
- xoa_driver/internals/utils/indices/index_manager.py +95 -0
- xoa_driver/internals/utils/indices/observer.py +17 -0
- xoa_driver/internals/utils/kind.py +19 -0
- xoa_driver/internals/utils/managers/__init__.py +0 -0
- xoa_driver/internals/utils/managers/abc.py +44 -0
- xoa_driver/internals/utils/managers/exceptions.py +22 -0
- xoa_driver/internals/utils/managers/modules_manager.py +118 -0
- xoa_driver/internals/utils/managers/ports_manager.py +116 -0
- xoa_driver/internals/utils/rev_tool.py +21 -0
- xoa_driver/internals/utils/session.py +117 -0
- xoa_driver/internals/warn.py +32 -0
- xoa_driver/lli.py +15 -0
- xoa_driver/misc.py +57 -0
- xoa_driver/modules.py +448 -0
- xoa_driver/ports.py +332 -0
- xoa_driver/testers.py +37 -0
- xoa_driver/utils.py +12 -0
- xoa_driver/v2/__init__.py +11 -0
- xoa_driver/v2/misc.py +77 -0
- xoa_driver/v2/modules.py +308 -0
- xoa_driver/v2/ports.py +232 -0
- xoa_driver/v2/testers.py +24 -0
|
@@ -0,0 +1,265 @@
|
|
|
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
|
+
XmpInt,
|
|
18
|
+
XmpLong,
|
|
19
|
+
XmpSequence,
|
|
20
|
+
XmpStr
|
|
21
|
+
)
|
|
22
|
+
from .enums import (
|
|
23
|
+
OnOff,
|
|
24
|
+
LatencyTypeCustomDist,
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
@register_command
|
|
29
|
+
@dataclass
|
|
30
|
+
class PEC_INDICES:
|
|
31
|
+
"""
|
|
32
|
+
The full list of which custom distributions which are defined for a port. These
|
|
33
|
+
are the custom id values that are used for assigning the custom distributions to
|
|
34
|
+
an impairment. Setting the value of this command creates a new custom
|
|
35
|
+
distribution (default values) for each value that is not already in use, and
|
|
36
|
+
deletes each custom distribution that is not mentioned in the list. The same can
|
|
37
|
+
be accomplished one-custom-distribution-at-a-time using the PEC_VAL and
|
|
38
|
+
PEC_DELETE commands.
|
|
39
|
+
|
|
40
|
+
.. note::
|
|
41
|
+
|
|
42
|
+
Custom distributions which are currently defined are not affected when mentioned in a PEC_INDICES set command.
|
|
43
|
+
Custom distributions which are currently assigned to an impairment cannot be deleted and any attempt of deleting
|
|
44
|
+
such a custom distribution using either PEC_DELETE` or PEC_INDICES` will result in an error.
|
|
45
|
+
|
|
46
|
+
"""
|
|
47
|
+
|
|
48
|
+
code: typing.ClassVar[int] = 1610
|
|
49
|
+
pushed: typing.ClassVar[bool] = True
|
|
50
|
+
|
|
51
|
+
_connection: 'interfaces.IConnection'
|
|
52
|
+
_module: int
|
|
53
|
+
_port: int
|
|
54
|
+
|
|
55
|
+
class GetDataAttr(ResponseBodyStruct):
|
|
56
|
+
indexations: typing.List[int] = field(XmpSequence(types_chunk=[XmpInt()]))
|
|
57
|
+
"""list of integers, a list of the indices to the custom distributions which are currently defined on that port, max 40 elements."""
|
|
58
|
+
|
|
59
|
+
class SetDataAttr(RequestBodyStruct):
|
|
60
|
+
indexations: typing.List[int] = field(XmpSequence(types_chunk=[XmpInt()]))
|
|
61
|
+
"""list of integers, a list of the indices to the custom distributions which are currently defined on that port, max 40 elements."""
|
|
62
|
+
|
|
63
|
+
def get(self) -> Token[GetDataAttr]:
|
|
64
|
+
"""Get a list of the indices to the custom distributions which are currently defined on that port.
|
|
65
|
+
|
|
66
|
+
:return: a list of the indices to the custom distributions which are currently defined on that port
|
|
67
|
+
:rtype: PEC_INDICES.GetDataAttr
|
|
68
|
+
"""
|
|
69
|
+
|
|
70
|
+
return Token(self._connection, build_get_request(self, module=self._module, port=self._port))
|
|
71
|
+
|
|
72
|
+
def set(self, indexations: typing.List[int]) -> Token[None]:
|
|
73
|
+
"""Set a list of indices to create new custom distributions.
|
|
74
|
+
|
|
75
|
+
:param indexations: a list of indices to create new custom distributions
|
|
76
|
+
:type indexations: typing.List[int]
|
|
77
|
+
"""
|
|
78
|
+
|
|
79
|
+
return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indexations=indexations))
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
@register_command
|
|
83
|
+
@dataclass
|
|
84
|
+
class PEC_VAL:
|
|
85
|
+
"""
|
|
86
|
+
Definition of custom distribution. Custom distributions can be defined for
|
|
87
|
+
latency with 1024 entries and for non-latency impairments with 512 entries. Each
|
|
88
|
+
port will maintain a list of defined custom distributions, identified by an
|
|
89
|
+
CUST_ID. (Range: 1 - 40).
|
|
90
|
+
"""
|
|
91
|
+
|
|
92
|
+
code: typing.ClassVar[int] = 1680
|
|
93
|
+
pushed: typing.ClassVar[bool] = True
|
|
94
|
+
|
|
95
|
+
_connection: 'interfaces.IConnection'
|
|
96
|
+
_module: int
|
|
97
|
+
_port: int
|
|
98
|
+
_custom_distribution_xindex: int
|
|
99
|
+
|
|
100
|
+
class GetDataAttr(ResponseBodyStruct):
|
|
101
|
+
linear: OnOff = field(XmpByte())
|
|
102
|
+
"""coded byte, defines the way the FPGA RAM content is played out."""
|
|
103
|
+
symmetric: OnOff = field(XmpByte())
|
|
104
|
+
"""coded byte, reserved for future use, must be set to OFF."""
|
|
105
|
+
entry_count: int = field(XmpInt())
|
|
106
|
+
"""integer, defines the number of entries in "dataX" (allowed value: 512,1024). NOTE: For Latency, 1024 entries are used, and for rest, 512 entries are used)"""
|
|
107
|
+
data_x: typing.List[int] = field(XmpSequence(types_chunk=[XmpLong()]))
|
|
108
|
+
"""array of long integers, array size="num_entries", holds values to be filled in the RAM memory."""
|
|
109
|
+
|
|
110
|
+
class SetDataAttr(RequestBodyStruct):
|
|
111
|
+
linear: OnOff = field(XmpByte())
|
|
112
|
+
"""coded byte, defines the way the FPGA RAM content is played out."""
|
|
113
|
+
symmetric: OnOff = field(XmpByte())
|
|
114
|
+
"""coded byte, reserved for future use, must be set to OFF."""
|
|
115
|
+
entry_count: int = field(XmpInt())
|
|
116
|
+
"""integer, defines the number of entries in "dataX" (allowed value: 512,1024). NOTE: For Latency, 1024 entries are used, and for rest, 512 entries are used)"""
|
|
117
|
+
data_x: typing.List[int] = field(XmpSequence(types_chunk=[XmpLong()]))
|
|
118
|
+
"""array of long integers, array size="num_entries", holds values to be filled in the RAM memory."""
|
|
119
|
+
|
|
120
|
+
def get(self) -> Token[GetDataAttr]:
|
|
121
|
+
"""Get the definition of custom distribution.
|
|
122
|
+
|
|
123
|
+
:return: definition of custom distribution
|
|
124
|
+
:rtype: PEC_VAL.GetDataAttr.
|
|
125
|
+
"""
|
|
126
|
+
|
|
127
|
+
return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._custom_distribution_xindex]))
|
|
128
|
+
|
|
129
|
+
def set(self, linear: OnOff, symmetric: OnOff, entry_count: int, data_x: typing.List[int]) -> Token[None]:
|
|
130
|
+
"""Set the definition of custom distribution. Custom distributions can be defined for
|
|
131
|
+
latency with 1024 entries and for non-latency impairments with 512 entries. Each
|
|
132
|
+
port will maintain a list of defined custom distributions, identified by an
|
|
133
|
+
CUST_ID. (Range: 1 - 40).
|
|
134
|
+
|
|
135
|
+
:param linear: defines the way the FPGA RAM content is played out
|
|
136
|
+
:type linear: OnOff
|
|
137
|
+
:param symmetric: reserved for future use, must be set to 0.
|
|
138
|
+
:type symmetric: OnOff
|
|
139
|
+
:param entry_count: defines the number of entries in "data_x" (allowed value: 512,1024). For Latency, 1024 entries are used, and for rest, 512 entries are used.
|
|
140
|
+
:type entry_count: int
|
|
141
|
+
:param data_x: array size equals to "entry_count", holds values to be filled in the RAM memory.
|
|
142
|
+
:type data_x: typing.List[int]
|
|
143
|
+
"""
|
|
144
|
+
|
|
145
|
+
return Token(
|
|
146
|
+
self._connection,
|
|
147
|
+
build_set_request(
|
|
148
|
+
self,
|
|
149
|
+
module=self._module,
|
|
150
|
+
port=self._port,
|
|
151
|
+
indices=[self._custom_distribution_xindex],
|
|
152
|
+
linear=linear,
|
|
153
|
+
symmetric=symmetric,
|
|
154
|
+
entry_count=entry_count,
|
|
155
|
+
data_x=data_x
|
|
156
|
+
)
|
|
157
|
+
)
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
@register_command
|
|
161
|
+
@dataclass
|
|
162
|
+
class PEC_COMMENT:
|
|
163
|
+
"""
|
|
164
|
+
Defines the user-defined description string of a custom distribution.
|
|
165
|
+
"""
|
|
166
|
+
|
|
167
|
+
code: typing.ClassVar[int] = 1681
|
|
168
|
+
pushed: typing.ClassVar[bool] = True
|
|
169
|
+
|
|
170
|
+
_connection: 'interfaces.IConnection'
|
|
171
|
+
_module: int
|
|
172
|
+
_port: int
|
|
173
|
+
_custom_distribution_xindex: int
|
|
174
|
+
|
|
175
|
+
class GetDataAttr(ResponseBodyStruct):
|
|
176
|
+
comment: str = field(XmpStr())
|
|
177
|
+
"""string, the user-specified comment/description for the custom distribution."""
|
|
178
|
+
|
|
179
|
+
class SetDataAttr(RequestBodyStruct):
|
|
180
|
+
comment: str = field(XmpStr())
|
|
181
|
+
"""string, the user-specified comment/description for the custom distribution."""
|
|
182
|
+
|
|
183
|
+
def get(self) -> Token[GetDataAttr]:
|
|
184
|
+
"""Get the user-defined description string of a custom distribution.
|
|
185
|
+
|
|
186
|
+
:return: the user-specified comment/description for the custom distribution.
|
|
187
|
+
:rtype: PEC_COMMENT.GetDataAttr
|
|
188
|
+
"""
|
|
189
|
+
|
|
190
|
+
return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._custom_distribution_xindex]))
|
|
191
|
+
|
|
192
|
+
def set(self, comment: str) -> Token[None]:
|
|
193
|
+
"""Set the user-defined description string of a custom distribution.
|
|
194
|
+
|
|
195
|
+
:param comment: the user-specified comment/description for the custom distribution.
|
|
196
|
+
:type comment: str
|
|
197
|
+
"""
|
|
198
|
+
|
|
199
|
+
return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._custom_distribution_xindex], comment=comment))
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
@register_command
|
|
203
|
+
@dataclass
|
|
204
|
+
class PEC_DELETE:
|
|
205
|
+
"""
|
|
206
|
+
Deletes the custom distribution definition.
|
|
207
|
+
|
|
208
|
+
.. note::
|
|
209
|
+
|
|
210
|
+
Once a customer has defined a customer distribution using PEC_VAL, it is defined until it is explicitly deleted.
|
|
211
|
+
Only customer distributions which are not referenced by any impairments, can be deleted.
|
|
212
|
+
|
|
213
|
+
"""
|
|
214
|
+
|
|
215
|
+
code: typing.ClassVar[int] = 1682
|
|
216
|
+
pushed: typing.ClassVar[bool] = False
|
|
217
|
+
|
|
218
|
+
_connection: 'interfaces.IConnection'
|
|
219
|
+
_module: int
|
|
220
|
+
_port: int
|
|
221
|
+
_custom_distribution_xindex: int
|
|
222
|
+
|
|
223
|
+
class SetDataAttr(RequestBodyStruct):
|
|
224
|
+
pass
|
|
225
|
+
|
|
226
|
+
def set(self) -> Token[None]:
|
|
227
|
+
"""Deletes the custom distribution definition.
|
|
228
|
+
"""
|
|
229
|
+
|
|
230
|
+
return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._custom_distribution_xindex]))
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
@register_command
|
|
234
|
+
@dataclass
|
|
235
|
+
class PEC_DISTTYPE:
|
|
236
|
+
"""
|
|
237
|
+
Retrieves if a custom distribution is defined for latency or non-latency.
|
|
238
|
+
|
|
239
|
+
.. note::
|
|
240
|
+
|
|
241
|
+
Using PEC_DISTTYPE as set has no effect. The distribution type is determined upon custom distribution creation and cannot be modified later.
|
|
242
|
+
However, it is legal to issue the PEC_DISTTYPE set command with no effect.
|
|
243
|
+
|
|
244
|
+
"""
|
|
245
|
+
|
|
246
|
+
code: typing.ClassVar[int] = 1683
|
|
247
|
+
pushed: typing.ClassVar[bool] = True
|
|
248
|
+
|
|
249
|
+
_connection: 'interfaces.IConnection'
|
|
250
|
+
_module: int
|
|
251
|
+
_port: int
|
|
252
|
+
_custom_distribution_xindex: int
|
|
253
|
+
|
|
254
|
+
class GetDataAttr(ResponseBodyStruct):
|
|
255
|
+
latency_type: LatencyTypeCustomDist = field(XmpByte())
|
|
256
|
+
"""byte, 0 indicates interpacket distribution, 1 indicates latency distribution."""
|
|
257
|
+
|
|
258
|
+
def get(self) -> Token[GetDataAttr]:
|
|
259
|
+
"""Get the latency type of a custom distribution.
|
|
260
|
+
|
|
261
|
+
:return: latency type of a custom distribution
|
|
262
|
+
:rtype: PEC_DISTTYPE.GetDataAttr
|
|
263
|
+
"""
|
|
264
|
+
|
|
265
|
+
return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._custom_distribution_xindex]))
|