@akala/core
Version:
20 lines (19 loc) • 1.46 kB
TypeScript
import type { AllEventKeys } from "../events/event-bus.js";
import { EventEmitter, type AllEvents } from "../events/event-emitter.js";
import type { EventListener, EventOptions } from "../events/shared.js";
import { IsomorphicBuffer } from "../helpers.js";
import { SocketAdapterAkalaEventMap, SocketAdapter } from "./shared.js";
import { type Subscription } from "../teardown-manager.js";
import { Socket } from 'net';
export declare class TcpSocketAdapter<T extends string | IsomorphicBuffer = string | IsomorphicBuffer> extends EventEmitter<SocketAdapterAkalaEventMap<T>> implements SocketAdapter<T> {
private readonly socket;
constructor(socket: Socket);
pipe(socket: SocketAdapter): void;
get open(): boolean;
close(): Promise<void>;
send(data: string | IsomorphicBuffer): Promise<void>;
private readonly messageListeners;
off<const TEvent extends AllEventKeys<SocketAdapterAkalaEventMap<T>>>(event: TEvent, handler: EventListener<AllEvents<SocketAdapterAkalaEventMap<T>>[TEvent]>): boolean;
on<const TEvent extends AllEventKeys<SocketAdapterAkalaEventMap<T>>>(event: TEvent, handler: EventListener<AllEvents<SocketAdapterAkalaEventMap<T>>[TEvent]>, options?: EventOptions<AllEvents<SocketAdapterAkalaEventMap<T>>[TEvent]>): Subscription;
once<const TEvent extends AllEventKeys<SocketAdapterAkalaEventMap<T>>>(event: TEvent, handler: EventListener<AllEvents<SocketAdapterAkalaEventMap<T>>[TEvent]>): Subscription;
}