lepolleventerh.inc 976 B

1234567891011121314151617181920212223242526272829303132
  1. {% lepolleventerh.inc included by levents.pas }
  2. {$ifdef Linux}
  3. PEpollEvent = ^epoll_event;
  4. TEpollEvent = epoll_event;
  5. PEpollData = ^epoll_data;
  6. TEpollData = epoll_data;
  7. { TLEpollEventer }
  8. TLEpollEventer = class(TLEventer)
  9. protected
  10. FTimeout: cInt;
  11. FEvents: array of TEpollEvent;
  12. FEventsRead: array of TEpollEvent;
  13. FEpollReadFD: THandle; // this one monitors LT style for READ
  14. FEpollFD: THandle; // this one monitors ET style for other
  15. FEpollMasterFD: THandle; // this one monitors the first two
  16. FFreeList: TFPObjectList;
  17. function GetTimeout: Integer; override;
  18. procedure SetTimeout(const Value: Integer); override;
  19. procedure HandleIgnoreRead(aHandle: TLHandle); override;
  20. procedure Inflate;
  21. public
  22. constructor Create; override;
  23. destructor Destroy; override;
  24. function AddHandle(aHandle: TLHandle): Boolean; override;
  25. function CallAction: Boolean; override;
  26. end;
  27. {$endif} // linux