pysap.SAPEnqueue module¶
- class pysap.SAPEnqueue.SAPEnqueue(_pkt, /, *, magic_bytes=b'\xab\xcd\xe1#', id=0, len=None, len_frag=None, dest=0, opcode=0, more_frags=0, type=0, adm_eyecatcher1=b'ENC', adm_version=1, adm_padd1=0, adm_padd2=0, adm_padd3=0, adm_eyecatcher2=b'#EAA', adm_1=1, adm_len=0, adm_opcode=0, adm_flags=0, adm_rc=0, adm_eyecatcher3=b'#EAE', adm_trace_protocol_version=1, adm_trace_action=3, adm_trace_limit=0, adm_trace_thread=0, adm_trace_unknown1=0, adm_trace_level=1, adm_trace_level1=1, adm_trace_logging=0, adm_trace_max_file_size=20971520, adm_trace_nopatterns=0, adm_trace_nopatterns1=0, adm_trace_unknown3=37, adm_trace_eyecatcher4=b'#EAH', adm_trace_patterns=[], adm_trace_eyecatcher5=b'#EAD', params_count=None, params=[])[source]¶
Bases:
PacketNoPaddedSAP Enqueue Server packet
This packet is used for general Enqueue packets.
- aliastypes = [<class 'pysap.SAPEnqueue.SAPEnqueue'>, <class 'pysap.utils.fields.PacketNoPadded'>, <class 'scapy.packet.Packet'>]¶
- fields_desc: List[AnyField] = [<StrFixedLenField (SAPEnqueue).magic_bytes>, <IntField (SAPEnqueue).id>, <LenField (SAPEnqueue).len>, <LenField (SAPEnqueue).len_frag>, <ByteEnumKeysField (SAPEnqueue).dest>, <ByteEnumKeysField (SAPEnqueue).opcode>, <ByteField (SAPEnqueue).more_frags>, <ByteEnumKeysField (SAPEnqueue).type>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]¶
- class pysap.SAPEnqueue.SAPEnqueueParam(_pkt, /, *, param=0, len=0, value=0, set_name=b'')[source]¶
Bases:
PacketNoPaddedSAP Enqueue Server Connection Admin Parameter packet
- aliastypes = [<class 'pysap.SAPEnqueue.SAPEnqueueParam'>, <class 'pysap.utils.fields.PacketNoPadded'>, <class 'scapy.packet.Packet'>]¶
- fields_desc: List[AnyField] = [<IntEnumField (SAPEnqueueParam).param>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]¶
- class pysap.SAPEnqueue.SAPEnqueueStreamSocket(sock, *args, **kwargs)[source]¶
Bases:
SAPRoutedStreamSocketStream socket implementation of the Enqueue Server protocol. It performs reassemble of received fragmented packets to ease use in upper layers.
- desc = 'Enqueue Stream socket'¶
- recv()[source]¶
Receive a packet at the Enqueue layer, performing reassemble of fragmented packets if necessary.
- Returns:
received
SAPEnqueuepacket- Return type:
- Raises:
socket.error – if the connection was close
- class pysap.SAPEnqueue.SAPEnqueueTracePattern(_pkt, /, *, len=1, pattern=b'')[source]¶
Bases:
PacketNoPaddedSAP Enqueue Server Admin Trace Pattern
- aliastypes = [<class 'pysap.SAPEnqueue.SAPEnqueueTracePattern'>, <class 'pysap.utils.fields.PacketNoPadded'>, <class 'scapy.packet.Packet'>]¶
- fields_desc: List[AnyField] = [<FieldLenField (SAPEnqueueTracePattern).len>, <StrNullFixedLenField (SAPEnqueueTracePattern).pattern>]¶
- pysap.SAPEnqueue.enqueue_conn_admin_opcode_values = {0: 'Loopback packet', 1: 'Parameter Request', 2: 'Parameter Response', 3: 'Shutdown Read', 4: 'Shutdown Write', 5: 'Shutdown Both', 6: 'Keepalive'}¶
Enqueue Server Opcode values
- pysap.SAPEnqueue.enqueue_dest_values = {1: 'SYNC_ENQUEUE', 2: 'ASYNC_ENQUEUE', 3: 'SERVER_ADMIN', 5: 'STAT_QUERY', 6: 'CONECTION_ADMIN', 7: 'ENQ_TO_REP', 8: 'REP_TO_ENQ'}¶
Enqueue Server Destination values
- pysap.SAPEnqueue.enqueue_param_values = {0: 'ENCPARAM_RECV_LEN', 1: 'ENCPARAM_SEND_LEN', 2: 'ENCPARAM_MSG_TYPE', 3: 'ENCPARAM_SET_NAME', 4: 'ENCPARAM_SET_NOSUPP', 5: 'ENCPARAM_SET_VERSION', 6: 'ENCPARAM_SET_UCSUPPORT'}¶
Enqueue Server Connection Admin Parameter values
- pysap.SAPEnqueue.enqueue_server_admin_opcode_values = {1: 'EnAdmDummyRequest', 2: 'EnAdmShutdownRequest', 4: 'EnAdmGetReplInfoRequest', 6: 'EnAdmTraceRequest'}¶
Enqueue Server Admin Opcode values
- pysap.SAPEnqueue.enqueue_server_admin_trace_action_values = {1: 'Raise level', 2: 'Lower level', 3: 'Get trace state', 4: 'Set trace status', 5: 'Reset trace files'}¶
Enqueue Server Admin Trace Action values
- pysap.SAPEnqueue.enqueue_server_admin_trace_limit_values = {0: 'Globally', 1: 'Only in enserver', 2: 'Only in repserver', 3: 'Only in threads of type', 4: 'Only in one thread of type'}¶
Enqueue Server Admin Trace Limit values
- pysap.SAPEnqueue.enqueue_server_admin_trace_thread_values = {0: 'All threads', 1: 'All I/O threads', 2: 'Enqueue Worker thread', 3: 'Replication thread', 4: 'ADM thread', 5: 'Signal thread', 6: 'Listener thread'}¶
Enqueue Server Admin Trace Thread values
- pysap.SAPEnqueue.enqueue_type_values = {0: 'SYNC_REQUEST', 1: 'ASYNC_REQUEST', 2: 'RESPONSE'}¶
Enqueue Server Type values