ACE_WIN32_Asynch_Connect_Result Class Reference

This is that class which will be passed back to the completion handler when the asynchronous connect completes. More...

#include <WIN32_Asynch_IO.h>

Inheritance diagram for ACE_WIN32_Asynch_Connect_Result:

Inheritance graph
[legend]
Collaboration diagram for ACE_WIN32_Asynch_Connect_Result:

Collaboration graph
[legend]
List of all members.

Public Member Functions

ACE_HANDLE connect_handle (void) const
 I/O handle for the connection.

size_t bytes_transferred (void) const
 Number of bytes transferred by the operation.

const void * act (void) const
 ACT associated with the operation.

int success (void) const
 Did the operation succeed?

const void * completion_key (void) const
u_long error (void) const
 Error value if the operation fail.

ACE_HANDLE event (void) const
 Event associated with the OVERLAPPED structure.

u_long offset (void) const
 This really make sense only when doing file I/O.

u_long offset_high (void) const
 Offset_high associated with the OVERLAPPED structure.

int priority (void) const
int signal_number (void) const
 No-op. Returns 0.

int post_completion (ACE_Proactor_Impl *proactor)
 Post this object to the Proactor's completion port.


Protected Member Functions

 ACE_WIN32_Asynch_Connect_Result (const ACE_Handler::Proxy_Ptr &handler_proxy, ACE_HANDLE connect_handle, const void *act, ACE_HANDLE event, int priority, int signal_number)
virtual void complete (size_t bytes_transferred, int success, const void *completion_key, u_long error)
 ACE_Proactor will call this method when the accept completes.

virtual ~ACE_WIN32_Asynch_Connect_Result (void)
 Destructor.

void connect_handle (ACE_HANDLE handle)
 Set the I/O handle for the new connection.


Protected Attributes

ACE_HANDLE connect_handle_

Friends

class ACE_WIN32_Asynch_Connect
 Factory classes will have special permissions.

class ACE_WIN32_Proactor
 The Proactor constructs the Result class for faking results.


Detailed Description

This is that class which will be passed back to the completion handler when the asynchronous connect completes.

This class has all the information necessary for the completion handler to uniquiely identify the completion of the asynchronous connect.

Definition at line 1150 of file WIN32_Asynch_IO.h.


Constructor & Destructor Documentation

ACE_WIN32_Asynch_Connect_Result::ACE_WIN32_Asynch_Connect_Result const ACE_Handler::Proxy_Ptr handler_proxy,
ACE_HANDLE  connect_handle,
const void *  act,
ACE_HANDLE  event,
int  priority,
int  signal_number
[protected]
 

Constructor is protected since creation is limited to ACE_Asynch_Connect factory.

Definition at line 2207 of file WIN32_Asynch_IO.cpp.

References ACE_Handler::Proxy_Ptr.

02213   : ACE_Asynch_Result_Impl (),
02214     ACE_Asynch_Connect_Result_Impl (),
02215     ACE_WIN32_Asynch_Result
02216       (handler_proxy, act, event, 0, 0, priority, signal_number),
02217     connect_handle_ (connect_handle)
02218 {
02219   ;
02220 }

ACE_WIN32_Asynch_Connect_Result::~ACE_WIN32_Asynch_Connect_Result void   )  [protected, virtual]
 

Destructor.

Definition at line 2243 of file WIN32_Asynch_IO.cpp.

02244 {
02245 }


Member Function Documentation

const void * ACE_WIN32_Asynch_Connect_Result::act void   )  const [virtual]
 

ACT associated with the operation.

Reimplemented from ACE_WIN32_Asynch_Result.

Definition at line 2257 of file WIN32_Asynch_IO.cpp.

References ACE_WIN32_Asynch_Result::act().

02258 {
02259   return ACE_WIN32_Asynch_Result::act ();
02260 }

size_t ACE_WIN32_Asynch_Connect_Result::bytes_transferred void   )  const [virtual]
 

Number of bytes transferred by the operation.

Reimplemented from ACE_WIN32_Asynch_Result.

Definition at line 2251 of file WIN32_Asynch_IO.cpp.

References ACE_WIN32_Asynch_Result::bytes_transferred().

02252 {
02253   return ACE_WIN32_Asynch_Result::bytes_transferred ();
02254 }

void ACE_WIN32_Asynch_Connect_Result::complete size_t  bytes_transferred,
int  success,
const void *  completion_key,
u_long  error
[protected, virtual]
 

ACE_Proactor will call this method when the accept completes.

Implements ACE_Asynch_Result_Impl.

Definition at line 2223 of file WIN32_Asynch_IO.cpp.

References ACE_Refcounted_Auto_Ptr< X, ACE_LOCK >::get(), and ACE_Handler::handle_connect().

02227 {
02228   // Copy the data.
02229   this->bytes_transferred_ = bytes_transferred;
02230   this->success_ = success;
02231   this->completion_key_ = completion_key;
02232   this->error_ = error;
02233 
02234   // Create the interface result class.
02235   ACE_Asynch_Connect::Result result (this);
02236 
02237   // Call the application handler.
02238   ACE_Handler *handler = this->handler_proxy_.get ()->handler ();
02239   if (handler != 0)
02240     handler->handle_connect (result);
02241 }

const void * ACE_WIN32_Asynch_Connect_Result::completion_key void   )  const [virtual]
 

Returns the ACT associated with the handle when it was registered with the I/O completion port. This ACT is not the same as the ACT associated with the asynchronous operation.

Reimplemented from ACE_WIN32_Asynch_Result.

Definition at line 2269 of file WIN32_Asynch_IO.cpp.

References ACE_WIN32_Asynch_Result::completion_key().

02270 {
02271   return ACE_WIN32_Asynch_Result::completion_key ();
02272 }

void ACE_WIN32_Asynch_Connect_Result::connect_handle ACE_HANDLE  handle  )  [protected]
 

Set the I/O handle for the new connection.

Definition at line 2200 of file WIN32_Asynch_IO.cpp.

References connect_handle_.

02201 {
02202   this->connect_handle_ = handle;
02203 }

ACE_HANDLE ACE_WIN32_Asynch_Connect_Result::connect_handle void   )  const [virtual]
 

I/O handle for the connection.

Implements ACE_Asynch_Connect_Result_Impl.

Definition at line 2195 of file WIN32_Asynch_IO.cpp.

References connect_handle_.

Referenced by ACE_WIN32_Asynch_Connect::connect(), ACE_WIN32_Asynch_Connect::connect_i(), and ACE_WIN32_Asynch_Connect::post_result().

02196 {
02197   return this->connect_handle_;
02198 }

u_long ACE_WIN32_Asynch_Connect_Result::error void   )  const [virtual]
 

Error value if the operation fail.

Reimplemented from ACE_WIN32_Asynch_Result.

Definition at line 2275 of file WIN32_Asynch_IO.cpp.

References ACE_WIN32_Asynch_Result::error().

02276 {
02277   return ACE_WIN32_Asynch_Result::error ();
02278 }

ACE_HANDLE ACE_WIN32_Asynch_Connect_Result::event void   )  const [virtual]
 

Event associated with the OVERLAPPED structure.

Reimplemented from ACE_WIN32_Asynch_Result.

Definition at line 2281 of file WIN32_Asynch_IO.cpp.

References ACE_WIN32_Asynch_Result::event().

02282 {
02283   return ACE_WIN32_Asynch_Result::event ();
02284 }

u_long ACE_WIN32_Asynch_Connect_Result::offset void   )  const [virtual]
 

This really make sense only when doing file I/O.

Reimplemented from ACE_WIN32_Asynch_Result.

Definition at line 2287 of file WIN32_Asynch_IO.cpp.

References ACE_WIN32_Asynch_Result::offset().

02288 {
02289   return ACE_WIN32_Asynch_Result::offset ();
02290 }

u_long ACE_WIN32_Asynch_Connect_Result::offset_high void   )  const [virtual]
 

Offset_high associated with the OVERLAPPED structure.

Reimplemented from ACE_WIN32_Asynch_Result.

Definition at line 2293 of file WIN32_Asynch_IO.cpp.

References ACE_WIN32_Asynch_Result::offset_high().

02294 {
02295   return ACE_WIN32_Asynch_Result::offset_high ();
02296 }

int ACE_WIN32_Asynch_Connect_Result::post_completion ACE_Proactor_Impl proactor  )  [virtual]
 

Post this object to the Proactor's completion port.

Reimplemented from ACE_WIN32_Asynch_Result.

Definition at line 2311 of file WIN32_Asynch_IO.cpp.

References ACE_WIN32_Asynch_Result::post_completion().

02312 {
02313   return ACE_WIN32_Asynch_Result::post_completion (proactor);
02314 }

int ACE_WIN32_Asynch_Connect_Result::priority void   )  const [virtual]
 

The priority of the asynchronous operation. Currently, this is not supported on Win32.

Reimplemented from ACE_WIN32_Asynch_Result.

Definition at line 2299 of file WIN32_Asynch_IO.cpp.

References ACE_WIN32_Asynch_Result::priority().

02300 {
02301   return ACE_WIN32_Asynch_Result::priority ();
02302 }

int ACE_WIN32_Asynch_Connect_Result::signal_number void   )  const [virtual]
 

No-op. Returns 0.

Reimplemented from ACE_WIN32_Asynch_Result.

Definition at line 2305 of file WIN32_Asynch_IO.cpp.

References ACE_WIN32_Asynch_Result::signal_number().

02306 {
02307   return ACE_WIN32_Asynch_Result::signal_number ();
02308 }

int ACE_WIN32_Asynch_Connect_Result::success void   )  const [virtual]
 

Did the operation succeed?

Reimplemented from ACE_WIN32_Asynch_Result.

Definition at line 2263 of file WIN32_Asynch_IO.cpp.

References ACE_WIN32_Asynch_Result::success().

02264 {
02265   return ACE_WIN32_Asynch_Result::success ();
02266 }


Friends And Related Function Documentation

friend class ACE_WIN32_Asynch_Connect [friend]
 

Factory classes will have special permissions.

Definition at line 1154 of file WIN32_Asynch_IO.h.

friend class ACE_WIN32_Proactor [friend]
 

The Proactor constructs the Result class for faking results.

Reimplemented from ACE_WIN32_Asynch_Result.

Definition at line 1157 of file WIN32_Asynch_IO.h.


Member Data Documentation

ACE_HANDLE ACE_WIN32_Asynch_Connect_Result::connect_handle_ [protected]
 

Definition at line 1227 of file WIN32_Asynch_IO.h.

Referenced by connect_handle().


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 11:32:48 2006 for ACE by doxygen 1.3.6