IdFiberWeaver.pas 966 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. {
  2. $Project$
  3. $Workfile$
  4. $Revision$
  5. $DateUTC$
  6. $Id$
  7. This file is part of the Indy (Internet Direct) project, and is offered
  8. under the dual-licensing agreement described on the Indy website.
  9. (http://www.indyproject.org/)
  10. Copyright:
  11. (c) 1993-2005, Chad Z. Hower and the Indy Pit Crew. All rights reserved.
  12. }
  13. {
  14. $Log$
  15. }
  16. {
  17. Rev 1.0 2004.02.03 12:38:50 AM czhower
  18. Move
  19. Rev 1.0 2003.10.19 2:50:54 PM czhower
  20. Fiber cleanup
  21. }
  22. unit IdFiberWeaver;
  23. interface
  24. uses
  25. IdBaseComponent, IdFiber,
  26. Windows;
  27. type
  28. TIdFiberWeaver = class(TIdBaseComponent)
  29. protected
  30. procedure Relinquish(
  31. AFiber: TIdFiber;
  32. AReschedule: Boolean
  33. ); virtual; abstract;
  34. public
  35. procedure Add(
  36. AFiber: TIdFiber
  37. ); virtual; abstract;
  38. function WaitForFibers(
  39. ATimeout: Cardinal = Infinite
  40. ): Boolean;
  41. virtual; abstract;
  42. end;
  43. implementation
  44. end.