@microsoft/dev-tunnels-ssh
Version:
SSH library for Dev Tunnels
27 lines • 1.23 kB
TypeScript
/// <reference types="node" />
import { Buffer } from 'buffer';
import { SshDataReader, SshDataWriter } from '../io/sshData';
import { SshSessionConfiguration } from '../sshSessionConfiguration';
export interface SshMessageConstructor<T extends SshMessage = SshMessage> {
new (): T;
}
export declare abstract class SshMessage {
get messageType(): number;
protected rawBytes?: Buffer;
toBuffer(): Buffer;
read(reader: SshDataReader): void;
write(writer: SshDataWriter): void;
/**
* Rewrites the message to its buffer to ensure the buffer has the correct values.
* This should be called after modifying properties of a message that was (potentially)
* received, before re-sending it.
*/
rewrite(): void;
protected onRead(reader: SshDataReader): void;
protected onWrite(writer: SshDataWriter): void;
protected validateField<T>(value: T | undefined, name: string): T;
toString(): string;
static create(config: SshSessionConfiguration, messageType: number, messageContext: string | null, data: Buffer): SshMessage | null;
convertTo<T extends SshMessage>(otherMessage: T, copy?: boolean): T;
}
//# sourceMappingURL=sshMessage.d.ts.map