summaryrefslogtreecommitdiff
path: root/apps/JAWS3/jaws3/Asynch_IO.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'apps/JAWS3/jaws3/Asynch_IO.cpp')
-rw-r--r--apps/JAWS3/jaws3/Asynch_IO.cpp308
1 files changed, 0 insertions, 308 deletions
diff --git a/apps/JAWS3/jaws3/Asynch_IO.cpp b/apps/JAWS3/jaws3/Asynch_IO.cpp
deleted file mode 100644
index 0113e73da39..00000000000
--- a/apps/JAWS3/jaws3/Asynch_IO.cpp
+++ /dev/null
@@ -1,308 +0,0 @@
-// $Id$
-
-#ifndef JAWS_BUILD_DLL
-#define JAWS_BUILD_DLL
-#endif /*JAWS_BUILD_DLL*/
-
-#include "ace/config-lite.h"
-
-#include "jaws3/IO.h"
-#include "jaws3/Asynch_IO.h"
-#include "jaws3/Event_Completer.h"
-#include "jaws3/Event_Result.h"
-
-#if defined (ACE_HAS_AIO_CALLS) || defined (ACE_WIN32)
-
-#include "jaws3/Asynch_IO_Helpers.h"
-
-void
-JAWS_Asynch_IO::send ( ACE_HANDLE handle
- , ACE_Message_Block *mb
- , JAWS_Event_Completer *completer
- , void *act
- )
-{
- JAWS_EC_AH_Adapter *jecaha;
- jecaha = JAWS_EC_AH_Adapter::make (completer);
-
- ACE_Asynch_Write_Stream asynch_write_stream;
-
- if (jecaha == 0
- || asynch_write_stream.open (*jecaha, handle) == -1
- || asynch_write_stream.write (*mb, mb->length (), act) == -1)
- {
- delete jecaha;
- JAWS_Event_Result io_result ( 0
- , JAWS_Event_Result::JE_ERROR
- , JAWS_Event_Result::JE_SEND_FAIL
- );
-
- if (completer)
- completer->output_complete (io_result, act);
- }
-}
-
-
-void
-JAWS_Asynch_IO::recv ( ACE_HANDLE handle
- , ACE_Message_Block *mb
- , JAWS_Event_Completer *completer
- , void *act
- )
-{
- JAWS_EC_AH_Adapter *jecaha;
- jecaha = JAWS_EC_AH_Adapter::make (completer);
-
- ACE_Asynch_Read_Stream asynch_read_stream;
-
- if (jecaha == 0
- || asynch_read_stream.open (*jecaha, handle) == -1
- || asynch_read_stream.read (*mb, mb->space (), act) == -1)
- {
- delete jecaha;
- JAWS_Event_Result io_result ( 0
- , JAWS_Event_Result::JE_ERROR
- , JAWS_Event_Result::JE_RECV_FAIL
- );
-
- if (completer)
- completer->output_complete (io_result, act);
- }
-}
-
-
-void
-JAWS_Asynch_IO::transmit ( ACE_HANDLE handle
- , ACE_HANDLE source
- , JAWS_Event_Completer *completer
- , void *act
- , ACE_Message_Block *header
- , ACE_Message_Block *trailer
- )
-{
- JAWS_EC_AH_Adapter *jecaha;
- jecaha = JAWS_EC_AH_Adapter::make (completer);
-
- ACE_Asynch_Transmit_File::Header_And_Trailer *header_and_trailer = 0;
- header_and_trailer =
- new ACE_Asynch_Transmit_File::Header_And_Trailer ( header
- , header->length ()
- , trailer
- , trailer->length ()
- );
-
- ACE_Asynch_Transmit_File asynch_transmit_file;
-
- if (source == ACE_INVALID_HANDLE
- || jecaha == 0
- || header_and_trailer == 0
- || asynch_transmit_file.open (*jecaha, handle) == -1
- || asynch_transmit_file.transmit_file ( source
- , header_and_trailer
- , 0
- , 0
- , 0
- , 0
- , 0
- , act
- ) == -1)
- {
- delete jecaha;
- delete header_and_trailer;
- JAWS_Event_Result io_result ( 0
- , JAWS_Event_Result::JE_ERROR
- , JAWS_Event_Result::JE_TRANSMIT_FAIL
- );
-
- if (completer)
- completer->output_complete (io_result, act);
- }
-}
-
-
-
-JAWS_EC_AH_Adapter *
-JAWS_EC_AH_Adapter::make (JAWS_Event_Completer *completer)
-{
- return new JAWS_EC_AH_Adapter (completer);
-}
-
-void
-JAWS_EC_AH_Adapter
-::handle_read_stream (const ACE_Asynch_Read_Stream::Result &result)
-{
- JAWS_Event_Result io_result;
-
- io_result = this->make_io_result ( result
- , JAWS_Event_Result::JE_RECV_OK
- , JAWS_Event_Result::JE_RECV_FAIL
- );
- // More useful diagnostics not implemented yet.
-
- void *act = const_cast<void *> (result.act ());
-
- this->completer_->input_complete (io_result, act);
- delete this;
-}
-
-void
-JAWS_EC_AH_Adapter
-::handle_write_stream (const ACE_Asynch_Write_Stream::Result &result)
-{
- JAWS_Event_Result io_result;
-
- io_result = this->make_io_result ( result
- , JAWS_Event_Result::JE_SEND_OK
- , JAWS_Event_Result::JE_SEND_FAIL
- );
- // More useful diagnostics not implemented yet.
-
- void *act = const_cast<void *> (result.act ());
-
- this->completer_->output_complete (io_result, act);
- delete this;
-}
-
-void
-JAWS_EC_AH_Adapter
-::handle_transmit_file (const ACE_Asynch_Transmit_File::Result &result)
-{
- JAWS_Event_Result io_result;
-
- io_result = this->make_io_result ( result
- , JAWS_Event_Result::JE_TRANSMIT_OK
- , JAWS_Event_Result::JE_TRANSMIT_FAIL
- );
- // More useful diagnostics not implemented yet.
- // Watch out for files not opened in overlapped IO mode.
-
- void *act = const_cast<void *> (result.act ());
-
- this->completer_->output_complete (io_result, act);
- delete this;
-}
-
-JAWS_Event_Result
-JAWS_EC_AH_Adapter
-::make_io_result ( const ACE_Asynch_Result &result
- , JAWS_Event_Result::JE_REASON reason_ok
- , JAWS_Event_Result::JE_REASON reason_fail
- )
-{
- size_t bytes = result.bytes_transferred ();
-
- JAWS_Event_Result::JE_STATUS status;
- JAWS_Event_Result::JE_REASON reason;
-
- if (result.success ())
- {
- status = JAWS_Event_Result::JE_OK;
- reason = reason_ok;
- }
- else
- {
- status = JAWS_Event_Result::JE_ERROR;
- reason = reason_fail;
- }
-
- JAWS_Event_Result io_result (bytes, status, reason);
-
- return io_result;
-}
-
-#else /* EMULATE AIO WITH REACTOR */
-
-#include "jaws3/Reactive_IO.h"
-
-void
-JAWS_Asynch_IO::send ( ACE_HANDLE handle
- , ACE_Message_Block *mb
- , JAWS_Event_Completer *completer
- , void *act
- )
-{
- JAWS_Reactive_IO::instance ()->send (handle, mb, completer, act);
-}
-
-
-void
-JAWS_Asynch_IO::recv ( ACE_HANDLE handle
- , ACE_Message_Block *mb
- , JAWS_Event_Completer *completer
- , void *act
- )
-{
- JAWS_Reactive_IO::instance ()->recv (handle, mb, completer, act);
-}
-
-
-void
-JAWS_Asynch_IO::transmit ( ACE_HANDLE handle
- , ACE_HANDLE source
- , JAWS_Event_Completer *completer
- , void *act
- , ACE_Message_Block *header
- , ACE_Message_Block *trailer
- )
-{
- JAWS_Reactive_IO::instance ()->transmit ( handle
- , source
- , completer
- , act
- , header
- , trailer
- );
-}
-
-#endif /* defined (ACE_HAS_AIO_CALLS) || defined (ACE_WIN32) */
-
-// For now, we will simulate timed Asynch IO with timed Reactive IO.
-// In the future, we will implement the timed Asynch IO with timers
-// and Asynch IO cancelation.
-
-#include "jaws3/Reactive_IO.h"
-
-void
-JAWS_Asynch_IO::send ( ACE_HANDLE handle
- , ACE_Message_Block *mb
- , JAWS_Event_Completer *completer
- , const ACE_Time_Value &tv
- , void *act
- )
-{
- JAWS_Reactive_IO::instance ()->send (handle, mb, completer, tv, act);
-}
-
-
-void
-JAWS_Asynch_IO::recv ( ACE_HANDLE handle
- , ACE_Message_Block *mb
- , JAWS_Event_Completer *completer
- , const ACE_Time_Value &tv
- , void *act
- )
-{
- JAWS_Reactive_IO::instance ()->recv (handle, mb, completer, tv, act);
-}
-
-
-void
-JAWS_Asynch_IO::transmit ( ACE_HANDLE handle
- , ACE_HANDLE source
- , JAWS_Event_Completer *completer
- , const ACE_Time_Value &tv
- , void *act
- , ACE_Message_Block *header
- , ACE_Message_Block *trailer
- )
-{
- JAWS_Reactive_IO::instance ()->transmit ( handle
- , source
- , completer
- , tv
- , act
- , header
- , trailer
- );
-}
-