@iotize/device-com-socket.node
Version:
Socket communication protocol to communicate with an iotize
29 lines (28 loc) • 1.32 kB
TypeScript
/// <reference types="node" />
import { ComProtocolConnectOptions, ComProtocolDisconnectOptions, ComProtocolOptions } from '@iotize/tap/protocol/api';
import { QueueComProtocol } from '@iotize/tap/protocol/core';
import * as net from 'net';
import { Observable, Subject, Subscriber } from 'rxjs';
export interface SocketProtocolOptions {
host?: string;
port: number;
}
export declare class SocketProtocol extends QueueComProtocol {
static DEFAULT_HOSTNAME: string;
protected _receiveStream: Subject<Uint8Array>;
protected _socketOptions: SocketProtocolOptions;
socket?: net.Socket;
_connectionEmitter?: Subscriber<void>;
constructor(serverOptions?: SocketProtocolOptions);
get socketOptions(): SocketProtocolOptions;
setSocketOptions(options: SocketProtocolOptions): this;
get options(): ComProtocolOptions;
protected _createSocket(): net.Socket;
_connect(options?: ComProtocolConnectOptions | undefined): Observable<any>;
_disconnect(options?: ComProtocolDisconnectOptions | undefined): Observable<any>;
write(data: Uint8Array): Promise<any>;
read(): Promise<Uint8Array>;
readOneValue(timeoutMs?: number): Promise<Uint8Array>;
notifyNewMessage(message: Uint8Array): void;
receiveStream(): Observable<Uint8Array>;
}