@cygnus-reach/reach-protocol
Version:
Improve the Reachâ„ remote support experience with straightforward device interactions via the Reach Protocol.
76 lines (75 loc) • 2.86 kB
TypeScript
import { FileTransferState } from "./proto/reach";
export declare const enum FileTransferDirection {
DOWNLOAD = 0,
UPLOAD = 1
}
export interface FileTransferConfig {
/**
* The number of messages sent before an acknowledgement is expected from the server.
*/
ackRate: number;
/**
* The timeout for receiving responses from the server upon the last client message in a transaction, in ms.
*/
timeout: number;
requireChecksum: boolean;
transferID: number;
transferLength: number;
offset: number;
/**
* Whether the full data for a file transfer is being provided, including data before the offset and/or data past the transfer length.
* If true, data will be read from/inserted beginning at the index specified by the offset.
*/
fullDataProvided: boolean;
}
export declare class FileTransfer {
protected _transferID: number;
protected _fileID: number;
protected _offset: number;
/**
* The length of the file being transferred
*/
protected _transferLength: number;
/**
* Whether the full data for a file transfer has been provided, including data before the offset and/or data past the transfer length.
* If true, data will be read from/inserted beginning at the index specified by the offset. Defaults to false.
*/
protected _fullDataProvided: boolean;
protected _direction: FileTransferDirection;
protected _ackRate: number;
protected _timeout: number;
protected _state: FileTransferState;
/**
* Keeps track of how many file data messages have been transferred between acks
*/
protected _transferDataCount: number;
/**
* The amount of bytes that have been read
*/
protected _bytesTransferred: number;
protected _fileData: number[];
constructor(direction: FileTransferDirection, fileID: number, config?: Partial<FileTransferConfig>, data?: number[]);
/** Setters & Getters */
get transferID(): number;
get fileID(): number;
get direction(): FileTransferDirection;
get transferLength(): number;
get offset(): number;
/**
* Whether the full data for a file transfer has been provided, including data before the offset and/or data past the transfer length.
* If true, data will be read from/inserted beginning at the index specified by the offset. Defaults to false.
*/
get fullDataProvided(): boolean;
get ackRate(): number;
set ackRate(rate: number);
get timeout(): number;
set timeout(timeout: number);
get state(): FileTransferState;
set state(state: FileTransferState);
protected get configLocked(): boolean;
get fileData(): number[];
set fileData(data: number[]);
get bytesTransferred(): number;
set bytesTransferred(bytes: number);
addFileData(data: number[]): void;
}