Protocol Chain¶
pcapkit.corekit.protochain contains special protocol
collection class ProtoChain.
-
class
pcapkit.corekit.protochain.ProtoChain(proto=None, alias=None, *, basis=None)[source]¶ Bases:
collections.abc.ContainerProtocols chain.
-
__alias__: pcapkit.corekit.protochain._AliasList¶ Protocol aliases chain.
-
__proto__: pcapkit.corekit.protochain._ProtoList¶ Protocol classes chain.
-
__contains__(name)[source]¶ Returns if
nameis in the chain.- Parameters
name (Union[str, pcapkit.protocols.protocol.Protocol, Type[pcapkit.protocols.protocol, Protocol]]) – name to search
- Returns
if
nameis in the chain- Return type
-
__init__(proto=None, alias=None, *, basis=None)[source]¶ Initialisation.
- Parameters
proto (Optional[pcapkit.protocols.protocol.Protocol]) – New protocol class on the top stack.
alias (Optional[str]) – New protocol alias on the top stack.
- Keyword Arguments
basis (pcapkit.corekit.protochain.ProtoChain) – Original protocol chain as base stacks.
-
__repr__()[source]¶ Returns representation of protocol chain data.
Example
>>> protochain ProtoChain(<class 'pcapkit.protocols.link.ethernet.Ethernet'>, ...)
-
__str__()[source]¶ Returns formatted hex representation of source data stream.
Example
>>> protochain ProtoChain(<class 'pcapkit.protocols.link.ethernet.Ethernet'>, ...) >>> print(protochain) Ethernet:IPv6:Raw
-
count(value)[source]¶ Number of occurrences of
value.- Parameters
value – (Union[str, pcapkit.protocols.protocol.Protocol, Type[pcapkit.protocols.protocol, Protocol]]): value to search
- Returns
Number of occurrences of
value.- Return type
See also
This method calls
self.__alias__.countfor the actual processing.
-
index(value, start=None, stop=None)[source]¶ First index of
value.- Parameters
value (Union[str, pcapkit.protocols.protocol.Protocol, Type[pcapkit.protocols.protocol, Protocol]]) – value to search
start (int) – start offset
stop (int) – stop offset
- Returns
First index of
value.- Return type
- Raises
IntError – If the value is not present.
See also
This method calls
self.__alias__.indexfor the actual processing.
-
property
alias¶ Protocol aliases chain.
- Return type
pcapkit.corekit.protocol._AliasList
-
property
proto¶ Protocol classes chain.
- Return type
pcapkit.corekit.protocol._ProtoList
-
-
class
pcapkit.corekit.protochain._AliasList(data=None, *, base=None)[source]¶ Bases:
collections.abc.SequenceList of protocol aliases for ProtoChain
-
__contains__(x)[source]¶ Returns if
xis in the chain.- Parameters
x (Union[str, pcapkit.protocols.protocol.Protocol, Type[pcapkit.protocols.protocol, Protocol]]) – name to search
- Returns
if
xis in the chain- Return type
-
count(value)[source]¶ Number of occurrences of
value.- Parameters
value – (Union[str, pcapkit.protocols.protocol.Protocol, Type[pcapkit.protocols.protocol, Protocol]]): value to search
- Returns
Number of occurrences of
value.- Return type
-
-
class
pcapkit.corekit.protochain._ProtoList(data=None, *, base=None)[source]¶ Bases:
collections.abc.CollectionList of protocol classes for
ProtoChain.-
__data__: List[pcapkit.protocols.protocol.Protocol]¶ Protocol classes chain data.
-
__contains__(x)[source]¶ Returns if
xis in the chain.- Parameters
x (Union[str, pcapkit.protocols.protocol.Protocol, Type[pcapkit.protocols.protocol, Protocol]]) – name to search
- Returns
if
xis in the chain- Return type
-
__init__(data=None, *, base=None)[source]¶ Initialisation.
- Parameters
data (Optional[pcapkit.protocols.protocol.Protocol]) – New protocol class on the top stack.
- Keyword Arguments
base (Union[pcapkit.corekit.protochain._ProtoList, List[pcapkit.protocols.protocol.Protocol]]) – Original protocol class chain as base stacks.
-
__iter__()[source]¶ Iterate through the protocol chain.
- Return type
Iterator[pcapkit.protocols.protocol.Protocol]
-
property
data¶ Protocol data.
- Return type
-