@glokon/guacamole-common-js
Version:
Guacamole common js with typescript type definitions
52 lines (45 loc) • 1.55 kB
TypeScript
import { TypedArray } from './GuacCommon';
import { OutputStream } from './OutputStream';
import { Status } from './Status';
/**
* A writer which automatically writes to the given output stream with arbitrary
* binary data, supplied as ArrayBuffers.
*/
export class ArrayBufferWriter {
/**
* The default maximum blob length for new Guacamole.ArrayBufferWriter
* instances.
*/
static readonly DEFAULT_BLOB_LENGTH: 6048;
/**
* @param stream The stream that data will be written
*/
constructor(stream: OutputStream);
/**
* The maximum length of any blob sent by this Guacamole.ArrayBufferWriter,
* in bytes. Data sent via sendData() which exceeds
* this length will be split into multiple blobs. As the Guacamole protocol
* limits the maximum size of any instruction or instruction element to
* 8192 bytes, and the contents of blobs will be base64-encoded, this value
* should only be increased with extreme caution.
*
* @default {@link ArrayBufferWriter.DEFAULT_BLOB_LENGTH}
*/
blobLength: number;
/**
* Sends the given data.
* @param data The data to send.
*/
sendData(data: ArrayBuffer | TypedArray): void;
/**
* Signals that no further text will be sent, effectively closing the
* stream.
*/
sendEnd(): void;
/**
* Fired for received data, if acknowledged by the server.
* @event
* @param status The status of the operation.
*/
onack: null | ((status: Status) => void);
}