OBPFrame class
OverNode Binary Protocol (OBP) Frame
Frame structure (16-byte header + payload): ┌─────────────────────────────────────────────────────────────┐ │ Magic (4 bytes) │ Version (1) │ Type (1) │ Flags (1) │ Res(1)│ ├─────────────────────────────────────────────────────────────┤ │ Length (4 bytes, big-endian) │ ├─────────────────────────────────────────────────────────────┤ │ Stream ID (4 bytes) │ ├─────────────────────────────────────────────────────────────┤ │ Payload (Length bytes) │ └─────────────────────────────────────────────────────────────┘
Constructors
- OBPFrame.new({int version = VERSION, required OBPMessageType type, OBPFlags flags = OBPFlags.none, required int streamId, required Uint8List payload})
-
const
- OBPFrame.empty({int version = VERSION, required OBPMessageType type, OBPFlags flags = OBPFlags.none, required int streamId})
- Create frame with empty payload
Properties
- flags → OBPFlags
-
final
- hashCode → int
-
The hash code for this object.
no setteroverride
- length → int
-
Get payload length
no setter
- payload → Uint8List
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- streamId → int
-
final
- type → OBPMessageType
-
final
- version → int
-
final
Methods
-
encode(
) → Uint8List - Encode frame to bytes
-
hasFlag(
OBPFlags flag) → bool - Check if frame has specific flag
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
override
-
withFlag(
OBPFlags flag) → OBPFrame - Create frame with additional flag
Operators
-
operator ==(
Object other) → bool -
The equality operator.
override
Constants
- HEADER_SIZE → const int
- Frame header size in bytes
- MAGIC → const int
- Protocol magic number: "OVND" in ASCII
- MAX_PAYLOAD_SIZE → const int
- Maximum payload size (10MB)
- VERSION → const int
- Current protocol version