32 lines
1.6 KiB
TypeScript
32 lines
1.6 KiB
TypeScript
|
import Contracts = require("../Declarations/Contracts");
|
||
|
import Sender = require("./Sender");
|
||
|
declare class Channel {
|
||
|
protected _lastSend: number;
|
||
|
protected _timeoutHandle: any;
|
||
|
protected _isDisabled: () => boolean;
|
||
|
protected _getBatchSize: () => number;
|
||
|
protected _getBatchIntervalMs: () => number;
|
||
|
_sender: Sender;
|
||
|
_buffer: string[];
|
||
|
constructor(isDisabled: () => boolean, getBatchSize: () => number, getBatchIntervalMs: () => number, sender: Sender);
|
||
|
/**
|
||
|
* Enable or disable disk-backed retry caching to cache events when client is offline (enabled by default)
|
||
|
* These cached events are stored in your system or user's temporary directory and access restricted to your user when possible.
|
||
|
* @param value if true events that occurred while client is offline will be cached on disk
|
||
|
* @param resendInterval The wait interval for resending cached events.
|
||
|
* @param maxBytesOnDisk The maximum size (in bytes) that the created temporary directory for cache events can grow to, before caching is disabled.
|
||
|
* @returns {Configuration} this class
|
||
|
*/
|
||
|
setUseDiskRetryCaching(value: boolean, resendInterval?: number, maxBytesOnDisk?: number): void;
|
||
|
/**
|
||
|
* Add a telemetry item to the send buffer
|
||
|
*/
|
||
|
send(envelope: Contracts.EnvelopeTelemetry): void;
|
||
|
/**
|
||
|
* Immediately send buffered data
|
||
|
*/
|
||
|
triggerSend(isNodeCrashing: boolean, callback?: (v: string) => void): void;
|
||
|
protected _stringify(envelope: Contracts.EnvelopeTelemetry): string;
|
||
|
}
|
||
|
export = Channel;
|