UNPKG

@zandor300/jsmodbus

Version:

Implementation for the Serial/TCP Modbus protocol.

32 lines 1.7 kB
import ModbusClientResponseHandler from './client-response-handler'; import * as Stream from 'stream'; import ModbusAbstractRequest from './abstract-request.js'; import ModbusAbstractResponse from './abstract-response.js'; import { ModbusRequestBody } from './request'; import { CastRequestBody } from './request-response-map.js'; import { UserRequestError } from './user-request-error'; import UserRequest, { PromiseUserRequest } from './user-request.js'; export default abstract class MBClientRequestHandler<S extends Stream.Duplex, Req extends ModbusAbstractRequest> { get state(): "offline" | "online"; get requestCount(): number; protected _socket: S; protected _timeout: number; protected _responseHandler: ModbusClientResponseHandler; protected abstract _requests: UserRequest[]; protected abstract _currentRequest: UserRequest | null | undefined; protected _state: 'offline' | 'online'; constructor(socket: S, timeout: number, responseHandler: ModbusClientResponseHandler); abstract register<R extends Req, B extends ModbusRequestBody>(requestBody: B): PromiseUserRequest<CastRequestBody<R, B>>; registerRequest<R extends Req>(request: R): PromiseUserRequest<R>; handle(response: ModbusAbstractResponse): void; manuallyRejectCurrentRequest(): void; manuallyRejectRequests(numRequests: number): void; manuallylRejectAllRequests(): void; customErrorRequest(err: UserRequestError<any, any>): void; protected _clearCurrentRequest(): void; protected _clearAllRequests(): void; protected _onConnect(): void; protected _onClose(): void; protected _flush(): void; } //# sourceMappingURL=client-request-handler.d.ts.map