You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implement Astraweb-style compression. This could be provided as part of overviews in the NntpClient and as separate deserialization functions.
Astraweb-style header compression leverages two custom commands, XZVER and XZHDR.
The closes thing I've found to documentatoin is an old post from their helpdesk (pasted below).
============================================================
We are proposing two new commands as an extension to the NNTP protocol: XZVER and XZHDR as counterparts to XOVER and XHDR respectively.
These two new optional commands will appear in the list returned from the "HELP" command.
Request: XZVER [range]
Response:
224 compressed data follows
=ybegin line=128 size=-1
=yend crc=FFFFFFFF
.
Request: XZHDR header [range]
Response
221
compressed data follows
=ybegin line=128 size=-1
=yend crc=FFFFFFFF
.
Where [range] is in the standard article number range as per XOVER.
Notes:
- The multi-line responses conform to standard NNTP protocol with a single period "." on a line by itself.
- Line terminals are \r\n
- The actual XOVER / XHDR response is compressed with zlib, then yEnc encoded.
- The compression conforms with zlib's deflate() method and there is NO gzip done on it. ie. Just pure gzip'ed data with no extra padding info to make it gzip-file compliant.
- The yEnc spec requires that the "size" parameter in "=ybegin line=123 size=456" be present, but for efficiency and performance sake, the total size is not known ahead of time so it has been set to some arbitrary value that should be ignored. The yEnc CRC32 value should be sufficient to validate the payload. On top of that, zlib has builtin adler32 which is an alternate form of CRC32.
It is assumed that the implementation for XZVER be duplicated from XOVER, with two additional steps at the end, that being: yEnc decode the data, then zlib inflate the data.
============================================================
The text was updated successfully, but these errors were encountered:
Implement Astraweb-style compression. This could be provided as part of overviews in the NntpClient and as separate deserialization functions.
Astraweb-style header compression leverages two custom commands,
XZVER
andXZHDR
.The closes thing I've found to documentatoin is an old post from their helpdesk (pasted below).
The text was updated successfully, but these errors were encountered: