Skip to content

Commit 5c71482

Browse files
author
Don Mendelson
committed
Adding RC3 spec as markdown
1 parent 236c150 commit 5c71482

File tree

3 files changed

+59
-62
lines changed

3 files changed

+59
-62
lines changed

v1-0-RC3/doc/00Contents.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
Contents
22
========
33

4-
[Title](00 Title.md)
4+
[Title](00Title.md)
55

6-
[Introduction](01Intoduction.md)
6+
[1. Introduction](01Intoduction.md)
77

8-
[Field Encoding](02FieldEncoding.md)
8+
[2. Field Encoding](02FieldEncoding.md)
99

10-
[Message Structure](03MessageStructure.md)
10+
[3. Message Structure](03MessageStructure.md)
1111

12-
[Message Schema](04MessageSchema.md)
12+
[4. Message Schema](04MessageSchema.md)
1313

14-
[SchemaExtensionMechanism](05SchemaExtensionMechanism.md)
14+
[5. Schema Extension Mechanism](05SchemaExtensionMechanism.md)
1515

16-
[Usage Guidelines](06UsageGuidelines.md)
16+
[6. Usage Guidelines](06UsageGuidelines.md)
1717

18-
[Examples](07Examples.md)
18+
[7. Examples](07Examples.md)
1919

20-
[Release Notes](08ReleaseNotes.md)
20+
[8 .Release Notes](08ReleaseNotes.md)

v1-0-RC3/doc/03MessageStructure.md

Lines changed: 32 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,10 @@ Simple Open Framing Header as an SBE composite encoding (big-endian)
4242
The values of encodingType used to indicate SBE payloads are currently
4343
defined as:
4444

45-
Encoding[^1] encodingType value
46-
------------------------------- --------------------
47-
SBE version 1.0 big-endian 0x5BE0
48-
SBE version 1.0 little-endian 0xEB50
45+
| Encoding | encodingType value |
46+
|-------------------------------|--------------------|
47+
| SBE version 1.0 big-endian | 0x5BE0 |
48+
| SBE version 1.0 little-endian | 0xEB50 |
4949

5050
The Simple Open Framing Header specification also lists values for other
5151
wire formats.
@@ -100,12 +100,12 @@ Recommended message header encoding
100100

101101
The recommended header encoding is 8 octets.
102102

103-
Element Description Primitive type Length (octets) Offset
104-
------------- ------------------- ---------------- ----------------- --------
105-
blockLength Root block length uint16 2 0
106-
templateId Template ID uint16 2 2
107-
schemaId Schema ID uint16 2 4
108-
version Schema Version uint16 2 6
103+
| Element | Description | Primitive type | Length (octets) | Offset |
104+
|-------------|-------------------|----------------|----------------:|-------:|
105+
| blockLength | Root block length | uint16 | 2 | 0 |
106+
| templateId | Template ID | uint16 | 2 | 2 |
107+
| schemaId | Schema ID | uint16 | 2 | 4 |
108+
| version | Schema Version | uint16 | 2 | 6 |
109109

110110
Optionally, implementations may support any other unsigned integer types
111111
for blockLength.
@@ -190,12 +190,12 @@ schema.
190190
<field name="Symbol" id="55" type="string8" semanticType="String"/>
191191
```
192192

193-
Field Size Offset
194-
---------- ------ --------
195-
ClOrdID 14 0
196-
Side 1 14
197-
OrderQty 4 15
198-
Symbol 8 19
193+
| Field | Size | Offset |
194+
|----------|-----:|-------:|
195+
| ClOrdID | 14 | 0 |
196+
| Side | 1 | 14 |
197+
| OrderQty | 4 | 15 |
198+
| Symbol | 8 | 19 |
199199

200200
#### Field offset specified by message schema
201201

@@ -225,12 +225,12 @@ Example of fields with specified offsets
225225
semanticType="String"/>
226226
```
227227

228-
Field Size Padding preceding field Offset
229-
---------- ------ ------------------------- --------
230-
ClOrdID 14 0 0
231-
Side 1 0 14
232-
OrderQty 4 1 16
233-
Symbol 8 0 20
228+
| Field | Size | Padding preceding field | Offset |
229+
|----------|------|------------------------:|-------:|
230+
| ClOrdID | 14 | 0 | 0 |
231+
| Side | 1 | 0 | 14 |
232+
| OrderQty | 4 | 1 | 16 |
233+
| Symbol | 8 | 0 | 20 |
234234

235235
#### Padding at end of a message or group
236236

@@ -385,10 +385,10 @@ Implementations should support uint8 and uint16 types for repeating
385385
group entry counts. Optionally, implementations may support any other
386386
unsigned integer types.
387387

388-
Primitive type Description Length (octets) Maximum number of entries
389-
---------------- ------------------------- ----------------- ---------------------------
390-
uint8 8-bit unsigned integer 1 255
391-
uint16 16-bit unsigned integer 2 65535
388+
| Primitive type | Description | Length (octets) | Maximum number of entries |
389+
|----------------|-------------------------|----------------:|--------------------------:|
390+
| uint8 | 8-bit unsigned integer | 1 | 255 |
391+
| uint16 | 16-bit unsigned integer | 2 | 65535 |
392392

393393
#### Encoding of repeating group dimensions
394394

@@ -454,11 +454,9 @@ If a message structure violation is detected on a received message, the
454454
message should be rejected back to the counterparty in a way appropriate
455455
to the session protocol.
456456

457-
Error condition Error description
458-
------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------
459-
Wrong message size in header A message size value smaller than the actual message may cause a message to be truncated.
460-
Wrong or unknown template ID in header A mismatch of message schema would likely render a message unintelligible or cause fields to be misinterpreted.
461-
Fixed-length field after repeating group or variable-length field All fixed-length fields in the root of a message or in a repeating group entry must be listed before any (nested) repeating group or variable-length field.
462-
Repeating group after variable-length field All repeating groups at the root level or in a nested repeating group must be listed before any variable length field at the same level.
463-
464-
457+
| Error condition | Error description |
458+
|-------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|
459+
| Wrong message size in header | A message size value smaller than the actual message may cause a message to be truncated. |
460+
| Wrong or unknown template ID in header | A mismatch of message schema would likely render a message unintelligible or cause fields to be misinterpreted. |
461+
| Fixed-length field after repeating group or variable-length field | All fixed-length fields in the root of a message or in a repeating group entry must be listed before any (nested) repeating group or variable-length field. |
462+
| Repeating group after variable-length field | All repeating groups at the root level or in a nested repeating group must be listed before any variable length field at the same level. |

v1-0-RC3/doc/07Examples.md

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -143,25 +143,24 @@ Hexadecimal and ASCII representations (little-endian byte order):
143143
144144
**Interpretation**
145145

146-
--------------------------------------------------------------------------------------------------------------------------------------------------
147-
**Wire format** **Field ID** **Name** **Offset** **Length** **Interpreted value**
148-
------------------ -------------- ---------------------------- ------------ ------------ ---------------------------------------------------------
149-
00000044 Simple Open Framing Header - 4 Message_Length Message size=68
150-
eb50 Simple Open Framing Header - 2 Encoding_type SBE version 1.0 little-endian
151-
3600 messageHeader blockLength - 2 Root block size=54
152-
6300 messageHeader templateId - 2 Template ID=99
153-
6400 messageHeader schemaId - 2 Schema ID=100
154-
0000 messageHeader version - 2 Schema version=0
155-
4f52443030303031 11 ClOrdID 0 8 ORD00001
156-
4143435430310000 1 Account 8 8 ACCT01
157-
47454d3400000000 55 Symbol 16 8 GEM4 Padded with NUL
158-
31 54 Side 24 1 1 Buy
159-
c021ed1b04c32b13 60 TransactTime 25 8 2013-10-10 13:35:33.135 as nanoseconds since UNIX epoch
160-
07000000 38 OrderQty 33 4 7
161-
32 40 OrdType 37 1 2 Limit
162-
1a85010000000000 44 Price 38 8 99.610
163-
0000000000000008 99 StopPx 46 8 null
164-
--------------------------------------------------------------------------------------------------------------------------------------------------
146+
| Wire format | Field ID | Name | Offset | Length | Interpreted value
147+
|------------------| -------------:|----------------------------|-----------:|-----------:|:------------
148+
| 00000044 | | Simple Open Framing Header | | 4 | Message size=68
149+
| eb50 | | Simple Open Framing Header | | 2 | SBE version 1.0 little-endian
150+
| 3600 | | messageHeader blockLength | | 2 | Root block size=54
151+
| 6300 | | messageHeader templateId | | 2 | Template ID=99
152+
| 6400 | | messageHeader schemaId | | 2 | Schema ID=100
153+
| 0000 | | messageHeader version | | 2 | Schema version=0
154+
| 4f52443030303031 | 11 | ClOrdID | 0 | 8 | ORD00001 |
155+
| 4143435430310000 | 1 | Account | 8 | 8 | ACCT01 |
156+
| 47454d3400000000 | 55 | Symbol | 16 | 8 | GEM4
157+
|
158+
| 31 | 54 | Side | 24 | 1 | 1 Buy |
159+
| c021ed1b04c32b13 | 60 | TransactTime | 25 | 8 | 2013-10-10 13:35:33.135 as nanoseconds since UNIX epoch |
160+
| 07000000 | 38 | OrderQty | 33 | 4 | 7 |
161+
| 32 | 40 | OrdType | 37 | 1 | 2 Limit |
162+
| 1a85010000000000 | 44 | Price | 38 | 8 | 99.610 |
163+
| 0000000000000008 | 99 | StopPx | 46 | 8 | null |
165164

166165
Message with a repeating group
167166
------------------------------

0 commit comments

Comments
 (0)