• counted strings

    From Christopher F Clark@21:1/5 to All on Sat Jun 11 00:23:13 2022
    I'm sorry for bringing more heat than light to this group.

    Counted strings are important for protocols. Not everything we write
    a lexer for is human written. Counted strings are a good way of
    transmitting binary data. This is just one way computers are
    different than humans....

    -- ****************************************************************************** Chris Clark email: christopher.f.clark@compiler-resources.com Compiler Resources, Inc. Web Site: http://world.std.com/~compres
    23 Bailey Rd voice: (508) 435-5016
    Berlin, MA 01503 USA twitter: @intel_chris ------------------------------------------------------------------------------

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From gah4@21:1/5 to Christopher F Clark on Sat Jun 11 13:53:44 2022
    On Saturday, June 11, 2022 at 6:58:14 AM UTC-7, Christopher F Clark wrote:
    I'm sorry for bringing more heat than light to this group.

    Counted strings are important for protocols. Not everything we write
    a lexer for is human written. Counted strings are a good way of
    transmitting binary data. This is just one way computers are
    different than humans....

    Someone thought about that before. RPC, as used for NFS and
    some other protocols, started with UDP, which has a record
    boundary. It was later ported to TCP, which does not.

    https://www.rfc-editor.org/info/rfc1831

    So, section 10 describes the way records are marked.
    They can be done in sections, so one doesn't have to buffer
    the whole thing, or even know the whole length, to send
    (or receive) one.

    A similar method is used by IBM's VBS (Variable Blocked
    Spanned) record format from OS/360 days, and still in
    newer OS. It was originally needed for Fortran unformatted
    I/O, but is part of the OS, and can be used by others.
    (Especially, PL/I can read/write it.)
    [RPC just has a length and a flag saying whether it's the last chunk. Internal data are XDR which is fixed length with no counts or descriptors, pretty pessimal

    -John]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)