2 #ifndef JAWS_ASYNCH_IO_H
3 #define JAWS_ASYNCH_IO_H
5 #include "ace/Asynch_IO.h"
6 #include "ace/Message_Block.h"
7 #include "ace/Singleton.h"
8 #include "ace/Time_Value.h"
10 #include "jaws3/Export.h"
11 #include "jaws3/Jaws_IO.h"
12 #include "jaws3/Event_Result.h"
16 class JAWS_Export JAWS_Asynch_IO
: public JAWS_IO_Impl
19 static JAWS_Asynch_IO
* instance ()
21 return ACE_Singleton
<JAWS_Asynch_IO
, ACE_SYNCH_MUTEX
>::instance ();
24 void send ( ACE_HANDLE handle
25 , ACE_Message_Block
*mb
26 , JAWS_Event_Completer
*completer
30 void recv ( ACE_HANDLE handle
31 , ACE_Message_Block
*mb
32 , JAWS_Event_Completer
*completer
36 void transmit ( ACE_HANDLE handle
38 , JAWS_Event_Completer
*completer
40 , ACE_Message_Block
*header
= 0
41 , ACE_Message_Block
*trailer
= 0
44 void send ( ACE_HANDLE handle
45 , ACE_Message_Block
*mb
46 , JAWS_Event_Completer
*completer
47 , const ACE_Time_Value
&tv
51 void recv ( ACE_HANDLE handle
52 , ACE_Message_Block
*mb
53 , JAWS_Event_Completer
*completer
54 , const ACE_Time_Value
&tv
58 void transmit ( ACE_HANDLE handle
60 , JAWS_Event_Completer
*completer
61 , const ACE_Time_Value
&tv
63 , ACE_Message_Block
*header
= 0
64 , ACE_Message_Block
*trailer
= 0
68 #endif /* JAWS_ASYNCH_IO_H */