SvSync.create options.

interface Options {
    describe?: string;
    endpoint?: Endpoint;
    fw?: Forwarder;
    initialStateVector?: SvStateVector;
    initialize?: ((sync) => Promisable<void>);
    periodicTimeout?: number | [median: number, jitter: number];
    signer?: Signer;
    steadyTimer?: [median: number, jitter: number];
    suppressionPeriod?: number;
    suppressionTimeout?: (() => number);
    suppressionTimer?: [median: number, jitter: number];
    svs2suppression?: boolean;
    syncInterestLifetime?: number;
    syncPrefix: Name;
    verifier?: Verifier;
}

Properties

describe?: string

Description for debugging purpose.

endpoint?: Endpoint

Endpoint for communication.

Deprecated

Specify .fw.

Use the specified logical forwarder.

Default Value

Forwarder.getDefault()

initialStateVector?: SvStateVector

Initial state vector.

Default Value

empty state vector
initialize?: ((sync) => Promisable<void>)

Application initialization function.

Type declaration

    • (sync): Promisable<void>
    • Parameters

      Returns Promisable<void>

Remarks

During initialization, it's possible to remove SyncNode or decrease seqNum. Calling sync.close() has no effect.

Sync protocol starts running after the returned Promise is resolved.

periodicTimeout?: number | [median: number, jitter: number]

Sync Interest timer in steady state (SVS v2).

Default Value

[30000ms, ±10%]

Remarks

If specified as tuple,

  • median: median interval in milliseconds.
  • jitter: ± percentage, in [0.0, 1.0) range.

If specified as number, it's interpreted as median.

SVS v1 steadyTimer and SVS v2 periodicTimeout are equivalent. If both are specified, this option takes precedence.

signer?: Signer

Sync Interest signer.

Default Value

nullSigner
steadyTimer?: [median: number, jitter: number]

Sync Interest timer in steady state (SVS v1).

Default Value

[30000ms, ±10%]

Remarks

  • median: median interval in milliseconds.
  • jitter: ± percentage, in [0.0, 1.0) range.
suppressionPeriod?: number

Sync Interest timer in suppression state, maximum value (SVS v2).

Default Value

200ms

suppressionTimeout?: (() => number)

Sync Interest timer in suppression state, value generator (SVS v2).

Type declaration

    • (): number
    • Returns number

Default Value

SvSync.suppressionExpDelay(suppressionPeriod)

Remarks

The maximum value returned by the generator function should be suppressionPeriod.

This option takes effect only if .svs2suppression is true.

suppressionTimer?: [median: number, jitter: number]

Sync Interest timer in suppression state (SVS v1).

Default Value

[200ms, ±50%]

Remarks

  • median: median interval in milliseconds.
  • jitter: ± percentage, in [0.0, 1.0) range.

This option takes effect only if .svs2suppression is false.

svs2suppression?: boolean

Use SVS v2 suppression timer and suppression logic.

Default Value

false
@experimental
syncInterestLifetime?: number

Sync Interest lifetime in milliseconds.

Default Value

1000
syncPrefix: Name

Sync group prefix.

verifier?: Verifier

Sync Interest verifier.

Default Value

no verification