I call these evolutions refinements. A few more here, pardon the
bandwidth:
`1 - It was unspecified but the 4 tag bits can have 16 values, 1 for
this protocol. The availability of 15 other protocols is a feature
for open-source development.
`2 - a header is easily defined for different transports and
networks.
`3 - the header of a FEC message is separately FEC encoded and
interleaved with RS(15,9), so 30 bytes for the msgSpec and header,
followed by the rsMode specified FEC encoding of the payload, padded
out from msgSize.
thank you,
robert
On 12/21/2015 08:42 PM, Robert Withers
wrote:
I updated with all the feedback and here is a version 1.0 pdf
specification. I appreciate any comments or suggestions you may
have for this.
https://www.dropbox.com/s/ywu9pjxrfvg1hys/FrameTypes.pdf?dl=0
Thank you,
Robert
On 12/20/2015 10:51 AM, Robert
Withers wrote:
More,
sorry. I left out the msgSize in the FEC spec. Let me reorder
the tagging, fit the 3 bytes of normal msgSpec into 4bytes and
thusly...
---Default non-FEC msgSpec + header + payload layout:
- 8bytes (X) messageSpecification...
-
- (32bits...)
- 4bits tagging
- 6bits multicastSymbol
- 6bits messageVersion
- 2bits sanguinity
- 6bits headerType "Implies Y header size. NOTE: except for FEC
encodings"
- 8bits unused
- (32bits...)
- 4bytes messageSize (X+Y+Z) (Z bytes = (messageSize -
headerSize(Y) - 8bytes msgSpec (X = 8))
-
- Ybytes message header https://www.dropbox.com/s/ywu9pjxrfvg1hys/FrameTypes.pdf?dl=0
-
- Zbytes message payload
Special FEC coded 64bit <msgSpec + header> + payload
layout, for 64bit alignment:
- 8bytes (X) message specification...
-
- (32bits...)
- 4bits tagging
- 6bits multicastSymbol
- 6bits messageVersion
- 2bits sanguinity
- 6bits FEC message type "NOTE: this means different layout"
- 2bits rsMode
- 6bits partial blockCount
- (32bits...)
- 4bits blockCount "NOTE: for 1MB encoded/982KB data -
blockCount * blockCodeBytes = Z"
- 20bits messageSize (X+Y+Z) (Z bytes = (messageSize -
headerSize(Y) - 8bytes msgSpec (X = 8)) "NOTE: this can specify
1MB data"
- 8bits primitivePolynomial spec (good for our current rsModes)
-
- Y = 0
-
- Zbytes-sized payload
Ok, that's what it is I think, this proposal.
robert
On 12/20/2015 10:33 AM, Robert Withers wrote:
---Default non-FEC msgSpec + header +
payload layout:
- 6bits multicastSymbol
- 2bits sanguinity
- 6bits messageVersion
- 6bits headerType "NOTE: except for FEC encodings"
- 4bytes messageSize
- Xbytes header
-
- (messageSized - headerSize - 7specBytes) Bytes-sized payload
Special FEC coded 64bit <msgSpec + header> + payload
layout, for 64bit alignment:
- (32bits...)
- 6bits multicastSymbol
- 2bits sanguinity
- 6bits messageVersion
- 6bits FEC message type "NOTE: this means different layout"
- 2bits rsMode
- (32bits...)
- 10bits blockCount "NOTE: for 1MB encoded/982KB
data"
- 20bits messageSize "NOTE: this can specify 1MB data
plus
- 8bits primitivePolynomial spec (good for our current
rsModes)
- 4bits tagging
-
- (messageSized - headerSize - 4specBytes) OR (blockCount *
rsMode's blockCodeBytes) Bytes-sized payload
--
. .. ... ^,^ robert
Go Panthers!
--
. .. ... ^,^ robert
Go Panthers!
|