2.7 Binary Record Grammar
This section specifies the grammar using the Augmented Backus-Naur Form (ABNF) syntax specified in [RFC4234] that defines how the records can appear in the serialization stream.
ABNF productions |
|
Meaning |
---|---|---|
ABNF productions remotingMessage |
= |
SerializationHeader *(referenceable) (methodCall/methodReturn) *(referenceable) MessageEnd |
methodCall |
= |
0*1(BinaryLibrary) BinaryMethodCall 0*1(callArray) |
methodReturn |
= |
0*1(BinaryLibrary) BinaryMethodReturn 0*1(callArray) |
callArray |
= |
0*1(BinaryLibrary) ArraySingleObject *(memberReference) |
memberReference |
= |
0*1(BinaryLibrary) (MemberPrimitiveUnTyped / MemberPrimitiveTyped / MemberReference / BinaryObjectString / nullObject /Classes) |
nullObject |
= |
ObjectNull / ObjectNullMultiple / ObjectNullMultiple256 |
referenceable |
= |
Classes/Arrays/BinaryObjectString |
Classes |
= |
0*1(BinaryLibrary) (ClassWithId / ClassWithMembers/ ClassWithMembersAndTypes / SystemClassWithMembers / SystemClassWithMembersAndTypes) *(memberReference) |
Arrays |
= |
0*1(BinaryLibrary) ((ArraySingleObject *(memberReference)) / (ArraySinglePrimitive *(MemberPrimitiveUnTyped)) / (ArraySingleString *(BinaryObjectString/MemberReference/nullObject)) / (BinaryArray*(memberReference)) ) |