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!