pamoja for TypeScript - v0.2.0
    Preparing search index...

    Variable fragmentConst

    fragment: {
        BlockMic: typeof LorawanBlockMic;
        dataBlockIntKey: (rootKey: Buffer) => Buffer;
        Defragmenter: typeof LorawanDefragmenter;
        fragment: (block: Buffer, fragSize: number, n: number) => Buffer;
        MAX_FRAGMENTS: number;
        parityLine: (coded: number, nbFrag: number) => number[];
        PORT: number;
        prbs23: (x: number) => number;
        session: (blockLen: number, fragSize: number) => FragSession;
    } = ...

    Fragmented data block transport, TS004-2.0.0, on port 201.

    A block too large for one frame goes across in pieces, followed by coded fragments that let a device solve for the ones it missed rather than asking for them again.

    Type Declaration

    • ReadonlyBlockMic: typeof LorawanBlockMic

      The code taken over a block as it arrives.

    • ReadonlydataBlockIntKey: (rootKey: Buffer) => Buffer

      Derives the key that signs a data block.

    • ReadonlyDefragmenter: typeof LorawanDefragmenter

      A session being put back together from whatever arrives.

    • Readonlyfragment: (block: Buffer, fragSize: number, n: number) => Buffer

      Builds one fragment of a session, coded or not.

    • ReadonlyMAX_FRAGMENTS: number

      The most fragments one session carries.

    • ReadonlyparityLine: (coded: number, nbFrag: number) => number[]

      Lists the uncoded fragments a coded one is made of.

    • ReadonlyPORT: number

      The port this package is spoken on.

    • Readonlyprbs23: (x: number) => number

      Steps the pseudo-random sequence the parity matrix is drawn from.

    • Readonlysession: (blockLen: number, fragSize: number) => FragSession

      Says how many fragments a block takes, and how much padding the last one needs.

    const { nbFrag, padding } = fragment.session(block.length, 32)
    const receiver = new fragment.Defragmenter(nbFrag, 32, 8)
    for (let n = 1; !receiver.done; n++) {
    receiver.fragment(n, fragment.fragment(block, 32, n))
    }