poller.d.ts 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import { EventEmitter } from 'events';
  2. interface PollerClass {
  3. new (fd: number, cb: (err: Error, flag: number) => void): PollerInstance;
  4. }
  5. interface PollerInstance {
  6. poll(flag: number): void;
  7. stop(): void;
  8. destroy(): void;
  9. }
  10. export declare const EVENTS: {
  11. UV_READABLE: number;
  12. UV_WRITABLE: number;
  13. UV_DISCONNECT: number;
  14. };
  15. /**
  16. * Polls unix systems for readable or writable states of a file or serialport
  17. */
  18. export declare class Poller extends EventEmitter {
  19. poller: PollerInstance;
  20. constructor(fd: number, FDPoller?: PollerClass);
  21. /**
  22. * Wait for the next event to occur
  23. * @param {string} event ('readable'|'writable'|'disconnect')
  24. * @returns {Poller} returns itself
  25. */
  26. once(event: 'readable' | 'writable' | 'disconnect', callback: (err: null | Error) => void): this;
  27. /**
  28. * Ask the bindings to listen for an event, it is recommend to use `.once()` for easy use
  29. * @param {EVENTS} eventFlag polls for an event or group of events based upon a flag.
  30. */
  31. poll(eventFlag?: number): void;
  32. /**
  33. * Stop listening for events and cancel all outstanding listening with an error
  34. */
  35. stop(): void;
  36. destroy(): void;
  37. emitCanceled(): void;
  38. }
  39. export {};