欢迎来到虫虫下载站 | 资源下载 资源专辑 关于我们
虫虫下载站

ss_state_write.cpp

ACE自适配通信环境(ADAPTIVE Communication Environment)是可以自由使用、开放源码的面向对象(OO)框架(Framework)
CPP
字号:
// SS_State_WRITE.cpp,v 1.1 2003/08/25 07:43:45 kobica Exp#include "ace/OS.h"#include "ace/FILE_Connector.h"#include "ace/FILE_Addr.h"#include "ace/FILE_IO.h"#include "jaws3/IO.h"#include "SS_State_WRITE.h"#include "SS_State_ERROR.h"#include "SS_State_DONE.h"#include "SS_Data.h"intTeraSS_State_WRITE::service (JAWS_Event_Completer *ec, void *data){  JAWS_Event_Result fake_bad_result (0, JAWS_Event_Result::JE_ERROR);  // Retrieve context  TeraSS_Data *tdata = (TeraSS_Data *) data;  ACE_FILE_Addr file_addr (tdata->mb ().rd_ptr ());  ACE_FILE_Connector file_connector;  if (file_connector.connect ( tdata->file_io ()                             , file_addr                             , 0                             , ACE_Addr::sap_any                             , 0                             , O_RDONLY                             ) < 0)    {      ec->output_complete (fake_bad_result, & tdata->file_io ());      return 0;    }    JAWS_IO::instance ()->transmit ( tdata->peer ().get_handle ()                                 , tdata->file_io ().get_handle ()                                 , ec                                 , & tdata->file_io ()                                 );  return 0;}JAWS_Protocol_State *TeraSS_State_WRITE::transition ( const JAWS_Event_Result &result                               , void *data                               , void *act                               ){  // Clean up FILE.  ((ACE_FILE_IO *) act)->close ();  // In the WRITE state, move to DONE state if success, ERROR if error.  JAWS_Protocol_State *next_state = 0;  switch (result.status ())    {    case JAWS_Event_Result::JE_OK:      next_state = TeraSS_State_DONE::instance ();      break;    case JAWS_Event_Result::JE_ERROR:      next_state = TeraSS_State_ERROR::instance ();      break;    default:      // Just bail unceremoniously.      next_state = TeraSS_State_DONE::instance ();      break;    }  return next_state;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -