void Sender::handle_transmit_file (const ACE_Asynch_Transmit_File::Result &result) { ACE_DEBUG ((LM_DEBUG, "handle_transmit_file called\n")); ACE_DEBUG ((LM_DEBUG, "********************\n")); ACE_DEBUG ((LM_DEBUG, "%s = %d\n", "socket", result.socket ())); ACE_DEBUG ((LM_DEBUG, "%s = %d\n", "file", result.file ())); ACE_DEBUG ((LM_DEBUG, "%s = %d\n", "bytes_to_write", result.bytes_to_write ())); ACE_DEBUG ((LM_DEBUG, "%s = %d\n", "bytes_per_send", result.bytes_per_send ())); ACE_DEBUG ((LM_DEBUG, "%s = %d\n", "flags", result.flags ())); ACE_DEBUG ((LM_DEBUG, "%s = %d\n", "bytes_transfered", result.bytes_transferred ())); ACE_DEBUG ((LM_DEBUG, "%s = %d\n", "act", (uintptr_t) result.act ())); ACE_DEBUG ((LM_DEBUG, "%s = %d\n", "success", result.success ())); ACE_DEBUG ((LM_DEBUG, "%s = %d\n", "completion_key", (uintptr_t) result.completion_key ())); ACE_DEBUG ((LM_DEBUG, "%s = %d\n", "error", result.error ())); ACE_DEBUG ((LM_DEBUG, "********************\n")); // Done with file ACE_OS::close (result.file ()); this->transmit_file_done_ = 1; if (this->stream_write_done_) done = 1; }
// This method will be called when an asynchronous transmit file completes. void JAWS_Asynch_IO::handle_transmit_file (const ACE_Asynch_Transmit_File::Result &result) { if (result.success ()) this->handler_->transmit_file_complete (); else this->handler_->transmit_file_error (-1); delete result.header_and_trailer (); delete (ACE_Filecache_Handle *) result.act (); }
void JAWS_Asynch_Handler::handle_transmit_file (const ACE_Asynch_Transmit_File::Result &result) { this->dispatch_handler (); if (result.success ()) this->handler ()->transmit_file_complete (); else this->handler ()->transmit_file_error (-1); result.header_and_trailer ()->header ()->release (); result.header_and_trailer ()->trailer ()->release (); delete result.header_and_trailer (); delete (JAWS_Cached_FILE *) result.act (); }
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; }