UNPKG

@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
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; }