Interface ProducerOptions

produce options.

interface ProducerOptions {
    announcement?: FwFace.RouteAnnouncement;
    autoBuffer?: boolean;
    concurrency?: number;
    dataBuffer?: DataBuffer;
    dataSigner?: Signer;
    describe?: string;
    fw?: Forwarder;
    routeCapture?: boolean;
    signal?: AbortSignal;
}

Hierarchy

  • CommonOptions
    • ProducerOptions

Properties

announcement?: FwFace.RouteAnnouncement

What name to be readvertised. Ignored if prefix is undefined.

autoBuffer?: boolean

Whether to add handler return value to .dataBuffer.

true

This is only relevant when .dataBuffer is set. If true, when the ProducerHandler returns a Data packet, it is automatically inserted to the DataBuffer.

concurrency?: number

How many Interests to process in parallel.

1

dataBuffer?: DataBuffer

Outgoing Data buffer.

Providing an outgoing Data buffer allows the ProducerHandler to prepare multiple Data packets in response to one Interest, in which one Data satisfies the current Interest and additional Data satisfy upcoming Interests. This is useful for a producer that generates a multi-segment response triggered by a single Interest, such as a StatusDataset producer in NFD Management protocol.

The producer handler can prepare the Data packets and insert them to the DataBuffer. Either it can return undefined, so that the DataBuffer is queried with the current Interest and the first matching Data is sent. Or it can return a specific Data packet for satisfying the current Interest.

dataSigner?: Signer

If specified, automatically sign Data packets that are not yet signed.

If the ProducerHandler returns a Data packet that is not signed (its SigType is Null), it is automatically signed with this signer.

This option does not apply to Data packets manually inserted into .dataBuffer. To auto-sign those packet, specify DataStoreBuffer.Options.dataSigner in addition.

describe?: string

Description for debugging purpose.

In a consumer, "consume" + Interest name. In a producer, "produce" + main prefix.

Logical forwarder instance.

Forwarder.getDefault()

routeCapture?: boolean

Whether routes registered by producer would cause @ndn/fw internal FIB to stop matching toward shorter prefixes.

true

If all nexthops of a FIB entry are set to non-capture, FIB lookup may continue onto nexthops on FIB entries with shorter prefixes. One use case is in dataset synchronization protocols, where both local and remote sync participants want to receive each other's Interests.

signal?: AbortSignal

AbortSignal that allows cancellation via AbortController.

In a consumer, the promise returned by consume() is rejected. In a producer, the producer is closed.