Nfsv4Connection.d.ts 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /// <reference types="node" />
  2. import { Nfsv4Decoder } from '../Nfsv4Decoder';
  3. import { Nfsv4FullEncoder } from '../Nfsv4FullEncoder';
  4. import { RmRecordDecoder, RmRecordEncoder } from '../../../rm';
  5. import { RpcCallMessage, RpcMessage, RpcMessageDecoder, RpcMessageEncoder } from '../../../rpc';
  6. import type { Duplex } from 'node:stream';
  7. import type { IWriter, IWriterGrowable } from '@jsonjoy.com/buffers/lib/types';
  8. import type { Nfsv4Operations } from './operations/Nfsv4Operations';
  9. export interface Nfsv4ConnectionOpts {
  10. duplex: Duplex;
  11. ops: Nfsv4Operations;
  12. encoder?: Nfsv4FullEncoder;
  13. decoder?: Nfsv4Decoder;
  14. debug?: boolean;
  15. logger?: Pick<typeof console, 'log' | 'error'>;
  16. }
  17. export declare class Nfsv4Connection {
  18. closed: boolean;
  19. maxIncomingMessage: number;
  20. maxBackpressure: number;
  21. protected lastXid: number;
  22. readonly duplex: Duplex;
  23. protected readonly rmDecoder: RmRecordDecoder;
  24. protected readonly rpcDecoder: RpcMessageDecoder;
  25. protected readonly nfsDecoder: Nfsv4Decoder;
  26. protected readonly writer: IWriter & IWriterGrowable;
  27. protected readonly rmEncoder: RmRecordEncoder;
  28. protected readonly rpcEncoder: RpcMessageEncoder;
  29. protected readonly nfsEncoder: Nfsv4FullEncoder;
  30. debug: boolean;
  31. logger: Pick<typeof console, 'log' | 'error'>;
  32. readonly ops: Nfsv4Operations;
  33. constructor(opts: Nfsv4ConnectionOpts);
  34. protected onData(data: Uint8Array): void;
  35. protected onRpcMessage(msg: RpcMessage): void;
  36. protected onRpcCallMessage(procedure: RpcCallMessage): void;
  37. private closeWithError;
  38. close(): void;
  39. private __uncorkTimer;
  40. write(buf: Uint8Array): void;
  41. send(): void;
  42. }