Registry Management¶
This module (pcapkit.foundation.registry) provides the registry
management for pcapkit, as the module contains various registry
points.
Every registration below takes a code that is already an enumeration member. For how a code the shipped registries do not define becomes one in the first place, see Unrecognised Values – the constant enumerations mint an in-range unknown value rather than rejecting it, which is what makes registering against a newly assigned number possible without regenerating them.
Foundation Registries¶
Engine Registries¶
- pcapkit.foundation.registry.foundation.register_extractor_engine(name, module, class_=<NULL>)[source]¶
Registered a new engine class.
- Overloads:
name (str), module (ModuleDescriptor[Engine] | Type[Engine]) → None
name (str), module (str), class_ (str) → None
Notes
The full qualified class name of the new engine class should be as
{module}.{class_}.The function will register the given engine class to the
pcapkit.foundation.extraction.Extractor.__engine__registry.
Dumper Registries¶
- pcapkit.foundation.registry.foundation.register_dumper(format, module, class_=<NULL>, *, ext)[source]¶
Registered a new dumper class.
- Overloads:
format (str), module (ModuleDescriptor[Dumper] | Type[Dumper]), ext (str) → None
format (str), module (str), class_ (str), ext (str) → None
Notes
The full qualified class name of the new dumper class should be as
{module}.{class_}.The function will register the given dumper class to the
pcapkit.foundation.traceflow.traceflow.TraceFlow.__output__andpcapkit.foundation.extraction.Extractor.__output__registry.
- pcapkit.foundation.registry.foundation.register_extractor_dumper(format, module, class_=<NULL>, *, ext)[source]¶
Registered a new dumper class.
- Overloads:
format (str), module (ModuleDescriptor[Dumper] | Type[Dumper]), ext (str) → None
format (str), module (str), class_ (str), ext (str) → None
Notes
The full qualified class name of the new dumper class should be as
{module}.{class_}.The function will register the given dumper class to the
pcapkit.foundation.extraction.Extractor.__output__registry.
- pcapkit.foundation.registry.foundation.register_traceflow_dumper(format, module, class_=<NULL>, *, ext)[source]¶
Registered a new dumper class.
- Overloads:
format (str), module (ModuleDescriptor[Dumper] | Type[Dumper]), ext (str) → None
format (str), module (str), class_ (str), ext (str) → None
Notes
The full qualified class name of the new dumper class should be as
{module}.{class_}.The function will register the given dumper class to the
pcapkit.foundation.traceflow.traceflow.TraceFlow.__output__registry.
Callback Registries¶
- pcapkit.foundation.registry.foundation.register_reassembly_ipv4_callback(callback)[source]¶
Registered a new callback function.
The function will register the given callback function to the
IPv4.__callback_fn__registry.
- pcapkit.foundation.registry.foundation.register_reassembly_ipv6_callback(callback)[source]¶
Registered a new callback function.
The function will register the given callback function to the
IPv6.__callback_fn__registry.
- pcapkit.foundation.registry.foundation.register_reassembly_tcp_callback(callback)[source]¶
Registered a new callback function.
The function will register the given callback function to the
TCP.__callback_fn__registry.
- pcapkit.foundation.registry.foundation.register_traceflow_tcp_callback(callback)[source]¶
Registered a new callback function.
The function will register the given callback function to the
TCP.__callback_fn__registry.
Extractor Registries¶
- pcapkit.foundation.registry.foundation.register_extractor_reassembly(protocol, module, class_=<NULL>)[source]¶
Registered a new reassembly class.
- Overloads:
protocol (str), module (ModuleDescriptor[Reassembly] | Type[Reassembly]) → None
protocol (str), module (str), class_ (str) → None
Notes
The full qualified class name of the new reassembly class should be as
{module}.{class_}.The function will register the given reassembly class to the
pcapkit.foundation.extraction.Extractor.__reassembly__registry.- Parameters:
protocol (
str) – protocol namemodule (
str|ModuleDescriptor[Reassembly] |Type[Reassembly]) – module name or module descriptor or aReassemblysubclass
- pcapkit.foundation.registry.foundation.register_extractor_traceflow(protocol, module, class_=<NULL>)[source]¶
Registered a new flow tracing class.
- Overloads:
protocol (str), module (ModuleDescriptor[TraceFlow] | Type[TraceFlow]) → None
protocol (str), module (str), class_ (str) → None
Notes
The full qualified class name of the new flow tracing class should be as
{module}.{class_}.The function will register the given flow tracing class to the
pcapkit.foundation.extraction.Extractor.__traceflow__registry.
Protocol Registries¶
- pcapkit.foundation.registry.protocols.register_protocol(protocol)[source]¶
Registered protocol class.
The protocol class must be a subclass of
Protocol, and will be registered to thepcapkit.protocols.__proto__registry.The registry is keyed on
protocol.__name__.upper(), which is not unique across this package: three dispatchable protocol classes are all namedHTTP– the generic basepcapkit.protocols.application.http.HTTPand the two version implementationspcapkit.protocols.application.httpv1.HTTPandpcapkit.protocols.application.httpv2.HTTP– so all three compete for the single key'HTTP'. Registering one of them replaces whichever was there, and the replacement is observable through every reader of the registry, e.g.ProtocolBase.expand_comp, which resolves a bare protocol name through it.Per #675 the overwrite is now reported rather than silent, matching
ProtocolBase.registerand the other overwrite-warning registries.The guard here reads “key present and incumbent is a different class” – presence alone is not enough. This registry’s key is derived from the class rather than supplied by a caller, and this function is the funnel every wrapper registrar calls –
register_tcp(),register_udp(),register_apptype(),register_linktype()and the rest all end inregister_protocol(module). So registering one class under two codes, a supported and documented thing to do, reaches this function twice with the same class and nothing at stake; a presence-only guard would warn about an overwrite that overwrote nothing. Warning on the harmless case is not free: it is what teaches a caller to filterRegistryWarningwholesale, and that filter is what would then hide theHTTPcollision this warning exists to surface. The siblingregistermethods across the package – each keyed on a caller-suppliedcoderather than a name derived from the class – apply the same identity criterion as of GitHub issue #718; before that they warned on presence alone, and none of them does now.Making the key itself unique would resolve the collision rather than merely reporting it, but it is a registry-format change that the bare-name readers outside this module cannot absorb on their own – the registry is a documented public attribute, and its readers look a bare name up and then degrade silently on a miss rather than raising, so a re-keying would not announce itself either.
ProtocolBase.expand_compfalls back to the name as a plain string, and theprotocolproperties onReassemblyMetaandTraceFlowMetafall back toRaw. Re-keying is therefore part of the registry redesign in #514, and reporting the collision here is the step that redesign is sequenced behind.- Parameters:
protocol (
Type[ProtocolBase]) – Protocol class.- Raises:
pcapkit.utilities.exceptions.RegistryError – If
protocolis not aProtocolBasesubclass.- Warns:
pcapkit.utilities.warnings.RegistryWarning – If the registry already holds a different class under this protocol’s name, i.e. the registration displaced another protocol class. Re-registering the same class under the same name is silent.
Top-Level Registries¶
- pcapkit.foundation.registry.protocols.register_linktype(code, module, class_=<NULL>)[source]¶
Register a new protocol class.
- Overloads:
code (LinkType), module (ModuleDescriptor[ProtocolBase] | Type[ProtocolBase]) → None
code (LinkType), module (str), class_ (str) → None
Notes
The full qualified class name of the new protocol class should be as
{module}.{class_}.The function will register the given protocol class to the following registries:
- Parameters:
module (
str|ModuleDescriptor[ProtocolBase] |Type[ProtocolBase]) – module name or module descriptor or aProtocolsubclass
- pcapkit.foundation.registry.protocols.register_pcap(code, module, class_=<NULL>)[source]¶
Register a new protocol class.
- Overloads:
code (LinkType), module (ModuleDescriptor[ProtocolBase] | Type[ProtocolBase]) → None
code (LinkType), module (str), class_ (str) → None
Notes
The full qualified class name of the new protocol class should be as
{module}.{class_}.The function will register the given protocol class to the
pcapkit.protocols.misc.pcap.frame.Frame.__proto__registry.- Parameters:
module (
str|ModuleDescriptor[ProtocolBase] |Type[ProtocolBase]) – module name or module descriptor or aProtocolsubclass
- pcapkit.foundation.registry.protocols.register_pcapng(code, module, class_=<NULL>)[source]¶
Register a new protocol class.
- Overloads:
code (LinkType), module (ModuleDescriptor[ProtocolBase] | Type[ProtocolBase]) → None
code (LinkType), module (str), class_ (str) → None
Notes
The full qualified class name of the new protocol class should be as
{module}.{class_}.The function will register the given protocol class to the
pcapkit.protocols.misc.pcapng.PCAPNG.__proto__registry.- Parameters:
module (
str|ModuleDescriptor[ProtocolBase] |Type[ProtocolBase]) – module name or module descriptor or aProtocolsubclass
Link Layer Registries¶
- pcapkit.foundation.registry.protocols.register_ethertype(code, module, class_=<NULL>)[source]¶
Register a new protocol class.
- Overloads:
code (EtherType), module (ModuleDescriptor[ProtocolBase] | Type[ProtocolBase]) → None
code (EtherType), module (str), class_ (str) → None
Notes
The full qualified class name of the new protocol class should be as
{module}.{class_}.The function will register the given protocol class to the
pcapkit.protocols.link.link.Link.__proto__registry.- Parameters:
module (
str|ModuleDescriptor[ProtocolBase] |Type[ProtocolBase]) – module name or module descriptor or aProtocolsubclass
Internet Layer Registries¶
- pcapkit.foundation.registry.protocols.register_transtype(code, module, class_=<NULL>)[source]¶
Register a new protocol class.
- Overloads:
code (TransType), module (ModuleDescriptor[ProtocolBase] | Type[ProtocolBase]) → None
code (TransType), module (str), class_ (str) → None
Notes
The full qualified class name of the new protocol class should be as
{module}.{class_}.The function will register the given protocol class to the
pcapkit.protocols.internet.internet.Internet.__proto__registry.- Parameters:
module (
str|ModuleDescriptor[ProtocolBase] |Type[ProtocolBase]) – module name or module descriptor or aProtocolsubclass
- pcapkit.foundation.registry.protocols.register_ipv4_option(code, meth, *, schema=None)[source]¶
Register an option parser.
The function will register the given option parser to the
pcapkit.protocols.internet.ipv4.IPv4.__option__registry.- Parameters:
code (
OptionNumber) –IPv4option code as inOptionNumber.meth (
str|tuple[Callable[[Option,OrderedMultiDict[OptionNumber,Option]],Option],Callable[[OptionNumber,Option|None,Any],Option]]) – Method name or callable to parse and/or construct the option.schema (
Type[Option] |None) –Schemaclass for the option. It should be a subclass ofpcapkit.protocols.schema.internet.ipv4.Option.
- pcapkit.foundation.registry.protocols.register_hip_parameter(code, meth, *, schema=None)[source]¶
Register a parameter parser.
The function will register the given parameter parser to the
pcapkit.protocols.internet.hip.HIP.__parameter__registry.- Parameters:
meth (
str|tuple[Callable[[Parameter,int,OrderedMultiDict[Parameter,Parameter]],Parameter],Callable[[Parameter,Parameter|None,int,Any],Parameter]]) – Method name or callable to parse and/or construct the parameter.schema (
Type[Parameter] |None) –Schemaclass for the parameter. It should be a subclass ofpcapkit.protocols.schema.internet.hip.Parameter.
- pcapkit.foundation.registry.protocols.register_hopopt_option(code, meth, *, schema=None)[source]¶
Register an option parser.
The function will register the given option parser to the
pcapkit.protocols.internet.hopopt.HOPOPT.__option__registry.- Parameters:
meth (
str|tuple[Callable[[Option,OrderedMultiDict[Option,Option]],Option],Callable[[Option,Option|None,Any],Option]]) – Method name or callable to parse and/or construct the option.schema (
Type[Option] |None) –Schemaclass for the option. It should be a subclass ofpcapkit.protocols.schema.internet.hopopt.Option.
- pcapkit.foundation.registry.protocols.register_ipv6_opts_option(code, meth, *, schema=None)[source]¶
Register an option parser.
The function will register the given option parser to the
pcapkit.protocols.internet.ipv6_opts.IPv6_Opts.__option__registry.- Parameters:
meth (
str|tuple[Callable[[Option,OrderedMultiDict[Option,Option]],Option],Callable[[Option,Option|None,Any],Option]]) – Method name or callable to parse and/or construct the option.schema (
Type[Option] |None) –Schemaclass for the option. It should be a subclass ofpcapkit.protocols.schema.internet.ipv6_opts.Option.
- pcapkit.foundation.registry.protocols.register_ipv6_route_routing(code, meth, *, schema=None)[source]¶
Register a routing data parser.
The function will register the given routing data parser to the
pcapkit.protocols.internet.ipv6_route.IPv6_Route.__routing__registry.- Parameters:
code (
Routing) –IPv6-Routedata type code as inRouting.meth (
str|tuple[Callable[[RoutingType,IPv6_Route],IPv6_Route],Callable[[Routing,IPv6_Route|None,IPv6Address|None,Any],RoutingType]]) – Method name or callable to parse and/or construct the data.schema (
Type[RoutingType] |None) –Schemaclass for the routing data. It should be a subclass ofpcapkit.protocols.schema.internet.ipv6_route.RoutingType.
- pcapkit.foundation.registry.protocols.register_mh_message(code, meth, *, schema=None)[source]¶
Register a MH message type parser.
The function will register the given message type parser to the
pcapkit.protocols.internet.mh.MH.__message__registry.
- pcapkit.foundation.registry.protocols.register_mh_option(code, meth, *, schema=None)[source]¶
Register a MH option parser.
The function will register the given option parser to the
pcapkit.protocols.internet.mh.MH.__option__registry.- Parameters:
meth (
str|tuple[Callable[[Option,OrderedMultiDict[Option,Option]],Option],Callable[[Option,Option|None,Any],Option]]) – Method name or callable to parse and/or construct the data.schema (
Type[Option] |None) –Schemaclass for the message type. It should be a subclass ofpcapkit.protocols.schema.internet.mh.Option.
- pcapkit.foundation.registry.protocols.register_mh_extension(code, meth, *, schema=None)[source]¶
Register a CGA extension parser.
The function will register the given CGA extension to the
pcapkit.protocols.internet.mh.MH.__extension__registry.- Parameters:
code (
CGAExtension) –MHdata type code as inCGAExtension.meth (
str|tuple[Callable[[CGAExtension,OrderedMultiDict[CGAExtension,CGAExtension]],CGAExtension],Callable[[CGAExtension,CGAExtension|None,Any],CGAExtension]]) – Method name or callable to parse and/or construct the data.schema (
Type[CGAExtension] |None) –Schemaclass for the message type. It should be a subclass ofpcapkit.protocols.schema.internet.mh.CGAExtension.
Transport Layer Registries¶
- pcapkit.foundation.registry.protocols.register_apptype(code, module, class_=<NULL>, *transport)[source]¶
Register a new protocol class.
- Overloads:
code (int), module (ModuleDescriptor[ProtocolBase] | Type[ProtocolBase]), transport (TransportProtocol | str) → None
code (Enum_AppType), module (ModuleDescriptor[ProtocolBase] | Type[ProtocolBase]), transport (TransportProtocol | str) → None
code (int), module (str), class_ (str), transport (TransportProtocol | str) → None
code (Enum_AppType), module (str), class_ (str), transport (TransportProtocol | str) → None
Notes
The full qualified class name of the new protocol class should be as
{module}.{class_}.The function will register the given protocol class to the
pcapkit.protocols.transport.tcp.TCP.__proto__and/orpcapkit.protocols.transport.udp.UDP.__proto__registry.- Parameters:
module (
str|ModuleDescriptor[ProtocolBase] |Type[ProtocolBase]) – module name or module descriptor or aProtocolsubclassclass_ (
str|TransportProtocol|NullType) – class name, meaningful only whenmoduleis astr. Positional, at the same position as the siblingregister_*functions – but unlike them, a third positional argument here is not alwaysclass_: which parameter it binds to is decided bytype(module)alone, never by what the value looks like. Whenmoduleis not astr, whatever is given here is treated as the first*transportelement instead – prepended, so argument order is preserved – andclass_itself stays unset;register_apptype(80, Unit, TransportProtocol.udp)therefore reachestransportrather than being silently swallowed. This is not a heuristic on the value: with astrmodule, astrthird argument is always a class name –register_apptype(80, 'a.b', 'tcp')registers a class literally named'tcp'– and naming a transport alongside astrmodule takes the fourth position onward instead.*transport (
TransportProtocol|str) – transport protocols to registercodeunder, named one at a time, each as aTransportProtocolmember or as that member’sname(case-insensitively, e.g.'tcp','TCP'or'Tcp'alike); the two forms are coerced to the same member and behave identically, including which error they raise. Where none is given andcodeis anAppTypemember, the member’s ownprotois used, which names exactly the registry the member lives in. A bareintcarries no such default and so requires at least one.
- Raises:
pcapkit.utilities.exceptions.RegistryError – If no transport protocol is given for a bare
int; if one of those given (member or name) names no port-keyed registry; or if astrmatches noTransportProtocolmember’sname. A composite such astcp | udp, or its string form'tcp|udp', names two and is refused for the same reason: one call registers under one transport protocol.pcapkit.utilities.exceptions.ProtocolError – Raised lazily, from
ModuleDescriptor.klass, whenmoduleis astrand eitherclass_names no attribute of it, orclass_was never given at all – the latter distinguished from the former rather than reported as a missing attribute named'(null)'. See GitHub issues #832 and #833.
Important
SCTPis deliberately not one of the registries this writes to, so namingsctphere is an error rather than a no-op. Its__proto__registry is keyed by the DATA chunk’s payload protocol identifier rather than by port number, so writing a port number into it would dispatch on a number from the wrong registry. Usepcapkit.foundation.registry.register_sctp()instead.See also
pcapkit.foundation.registry.register_tcp()pcapkit.foundation.registry.register_udp()pcapkit.foundation.registry.register_sctp()
- pcapkit.foundation.registry.protocols.register_tcp(code, module, class_=<NULL>)[source]¶
Register a new protocol class.
- Overloads:
code (int | Enum_AppType), module (ModuleDescriptor[ProtocolBase] | Type[ProtocolBase]) → None
code (int | Enum_AppType), module (str), class_ (str) → None
Notes
The full qualified class name of the new protocol class should be as
{module}.{class_}.The function will register the given protocol class to the
pcapkit.protocols.transport.tcp.TCP.__proto__registry.- Parameters:
module (
str|ModuleDescriptor[ProtocolBase] |Type[ProtocolBase]) – module name or module descriptor or aProtocolsubclass
- pcapkit.foundation.registry.protocols.register_tcp_option(code, meth, *, schema=None)[source]¶
Register an option parser.
The function will register the given option parser to the
pcapkit.protocols.transport.tcp.TCP.__option__registry.- Parameters:
meth (
str|tuple[Callable[[Option,OrderedMultiDict[Option,Option]],Option],Callable[[Option,Option|None,Any],Option]]) – Method name or callable to parse and/or construct the option.schema (
Type[Option] |None) –Schemaclass for the option. It should be a subclass ofpcapkit.protocols.schema.transport.tcp.Option.
- pcapkit.foundation.registry.protocols.register_tcp_mp_option(code, meth, *, schema=None)[source]¶
Register an MPTCP option parser.
The function will register the given option parser to the
pcapkit.protocols.transport.tcp.TCP.__mp_option__registry.- Parameters:
code (
MPTCPOption) – MultipathTCPoption code as inMPTCPOption.meth (
str|tuple[Callable[[MPTCP,OrderedMultiDict[Option,Option]],MPTCP],Callable[[MPTCPOption,MPTCP|None,Any],MPTCP]]) – Method name or callable to parse and/or construct the option.schema (
Type[MPTCP] |None) –Schemaclass for the option. It should be a subclass ofpcapkit.protocols.schema.transport.tcp.MPTCP.
- pcapkit.foundation.registry.protocols.register_udp(code, module, class_=<NULL>)[source]¶
Register a new protocol class.
- Overloads:
code (int | Enum_AppType), module (ModuleDescriptor[ProtocolBase] | Type[ProtocolBase]) → None
code (int | Enum_AppType), module (str), class_ (str) → None
Notes
The full qualified class name of the new protocol class should be as
{module}.{class_}.The function will register the given protocol class to the
pcapkit.protocols.transport.udp.UDP.__proto__registry.- Parameters:
module (
str|ModuleDescriptor[ProtocolBase] |Type[ProtocolBase]) – module name or module descriptor or aProtocolsubclass
- pcapkit.foundation.registry.protocols.register_sctp(code, module, class_=<NULL>)[source]¶
Register a new protocol class.
- Overloads:
code (int | SCTP_PayloadProtocolIdentifier), module (ModuleDescriptor[ProtocolBase] | Type[ProtocolBase]) → None
code (int | SCTP_PayloadProtocolIdentifier), module (str), class_ (str) → None
Notes
The full qualified class name of the new protocol class should be as
{module}.{class_}.The function will register the given protocol class to the
pcapkit.protocols.transport.sctp.SCTP.__proto__registry.- Parameters:
code (
int|PayloadProtocolIdentifier) – payload protocol identifier (PPID), as inPayloadProtocolIdentifiermodule (
str|ModuleDescriptor[ProtocolBase] |Type[ProtocolBase]) – module name or module descriptor or aProtocolsubclass
Important
Unlike
register_tcp()andregister_udp(),codeis a payload protocol identifier taken from the DATA chunk, not a port number: SCTP names its upper layer per DATA chunk rather than per association. See RFC 9260 Section 3.3.1.
Application Layer Registries¶
- pcapkit.foundation.registry.protocols.register_http_frame(code, meth, *, schema=None)[source]¶
Registered a frame parser.
The function will register the given frame parser to the
pcapkit.protocols.application.httpv2.HTTP.__frame__registry.- Parameters:
meth (
str|tuple[Callable[[FrameType,HTTP],HTTP],Callable[[HTTP|None,Any],Tuple[FrameType,Flags]]]) – Method name or callable to parse and/or construct the frame.schema (
Type[FrameType] |None) –Schemaclass for the frame. It should be a subclass ofpcapkit.protocols.schema.application.httpv2.FrameType.
Miscellaneous Protocol Registries¶
- pcapkit.foundation.registry.protocols.register_pcapng_block(code, meth, *, schema=None)[source]¶
Registered a block parser.
The function will register the given block parser to the
pcapkit.protocols.misc.pcapng.PCAPNG.__block__registry.- Parameters:
meth (
str|tuple[Callable[[BlockType,PCAPNG],PCAPNG],Callable[[PCAPNG|None,Any],BlockType]]) – Method name or callable to parse and/or construct the block.schema (
Type[BlockType] |None) –Schemaclass for the block. It should be a subclass ofpcapkit.protocols.schema.misc.pcapng.BlockType.
- pcapkit.foundation.registry.protocols.register_pcapng_option(code, meth, *, schema=None)[source]¶
Registered a option parser.
The function will register the given option parser to the
pcapkit.protocols.misc.pcapng.PCAPNG.__option__registry.- Parameters:
code (
OptionType) –PCAPNGoption type code as inOptionType.meth (
str|tuple[Callable[[Option,OrderedMultiDict[OptionType,Option]],Option],Callable[[OptionType,Option|None,Any],Option]]) – Method name or callable to parse and/or construct the option.schema (
Type[Option] |None) –Schemaclass for the option. It should be a subclass ofpcapkit.protocols.schema.misc.pcapng.Option.
- pcapkit.foundation.registry.protocols.register_pcapng_record(code, meth, *, schema=None)[source]¶
Registered a name resolution record parser.
The function will register the given name resolution record parser to the
pcapkit.protocols.misc.pcapng.PCAPNG.__record__registry.- Parameters:
code (
RecordType) –PCAPNGname resolution record type code as inRecordType.meth (
str|tuple[Callable[[NameResolutionRecord,OrderedMultiDict[RecordType,NameResolutionRecord]],NameResolutionRecord],Callable[[RecordType,NameResolutionRecord|None,Any],NameResolutionRecord]]) – Method name or callable to parse and/or construct the name resolution record.schema (
Type[NameResolutionRecord] |None) –Schemaclass for the name resolution record. It should be a subclass ofpcapkit.protocols.schema.misc.pcapng.NameResolutionRecord.
- pcapkit.foundation.registry.protocols.register_pcapng_secrets(code, meth, *, schema=None)[source]¶
Registered a decryption secrets parser.
The function will register the given decryption secrets parser to the
pcapkit.protocols.misc.pcapng.PCAPNG.__secrets__registry.- Parameters:
code (
SecretsType) –PCAPNGdecryption secrets type code as inSecretsType.meth (
str|tuple[Callable[[DSBSecrets,DecryptionSecretsBlock],DSBSecrets],Callable[[SecretsType,DSBSecrets|None,Any],DSBSecrets]]) – Method name or callable to parse and/or construct the decryption secrets.schema (
Type[DSBSecrets] |None) –Schemaclass for the decryption secrets. It should be a subclass ofpcapkit.protocols.schema.misc.pcapng.DSBSecrets.