latest.ipv8.messaging.lazy_payload
Module Contents
Classes
A Payload instance which mimics a struct. Useful for when you want a less verbose way to specify Payloads. |
Functions
|
JIT Compilation of a VariablePayload definition. |
- class latest.ipv8.messaging.lazy_payload.VariablePayload(*args: Any, **kwargs)
Bases:
latest.ipv8.messaging.serialization.Payload
A Payload instance which mimics a struct. Useful for when you want a less verbose way to specify Payloads.
This class requires you to only specify your format in:
<MyPayload>.format_list : a list of Serializer format specifications
<MyPayload>.names : the field names to use for the given formats
For instance:
- class MyPayload(VariablePayload):
format_list = [‘?’] names = [“is_this_a_boolean”]
If you require field-specific pack/unpack operations you can specify them using the fix_pack_* and fix_unpack_* methods. Custom packing and unpacking rules can be useful for compression methods like socket.inet_aton, which you only want to apply when actually sending over the wire.
- classmethod from_unpack_list(*args: Any) VariablePayload
Given a list of raw arguments, initialize a new cls instance.
If this class has special rules for certain fields, apply them.