00001
00002
00003
00004
00005 #include "ace/SOCK_Stream.h"
00006 #include "ace/OS_NS_sys_socket.h"
00007
00008 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00009
00010 ACE_INLINE
00011 ACE_SOCK_Stream::ACE_SOCK_Stream (void)
00012 {
00013
00014 }
00015
00016 ACE_INLINE
00017 ACE_SOCK_Stream::ACE_SOCK_Stream (ACE_HANDLE h)
00018 {
00019
00020 this->set_handle (h);
00021 }
00022
00023 ACE_INLINE
00024 ACE_SOCK_Stream::~ACE_SOCK_Stream (void)
00025 {
00026
00027 }
00028
00029 ACE_INLINE int
00030 ACE_SOCK_Stream::close_reader (void)
00031 {
00032 ACE_TRACE ("ACE_SOCK_Stream::close_reader");
00033 if (this->get_handle () != ACE_INVALID_HANDLE)
00034 return ACE_OS::shutdown (this->get_handle (), ACE_SHUTDOWN_READ);
00035 else
00036 return 0;
00037 }
00038
00039
00040
00041 ACE_INLINE int
00042 ACE_SOCK_Stream::close_writer (void)
00043 {
00044 ACE_TRACE ("ACE_SOCK_Stream::close_writer");
00045 if (this->get_handle () != ACE_INVALID_HANDLE)
00046 return ACE_OS::shutdown (this->get_handle (), ACE_SHUTDOWN_WRITE);
00047 else
00048 return 0;
00049 }
00050
00051 ACE_INLINE ssize_t
00052 ACE_SOCK_Stream::recv_n (void *buf,
00053 size_t len,
00054 int flags,
00055 const ACE_Time_Value *timeout,
00056 size_t *bytes_transferred) const
00057 {
00058 ACE_TRACE ("ACE_SOCK_Stream::recv_n");
00059 return ACE::recv_n (this->get_handle (),
00060 buf,
00061 len,
00062 flags,
00063 timeout,
00064 bytes_transferred);
00065 }
00066
00067 ACE_INLINE ssize_t
00068 ACE_SOCK_Stream::recv_n (void *buf,
00069 size_t len,
00070 const ACE_Time_Value *timeout,
00071 size_t *bytes_transferred) const
00072 {
00073 ACE_TRACE ("ACE_SOCK_Stream::recv_n");
00074 return ACE::recv_n (this->get_handle (),
00075 buf,
00076 len,
00077 timeout,
00078 bytes_transferred);
00079 }
00080
00081 ACE_INLINE ssize_t
00082 ACE_SOCK_Stream::recvv_n (iovec iov[],
00083 int n,
00084 const ACE_Time_Value *timeout,
00085 size_t *bytes_transferred) const
00086 {
00087 ACE_TRACE ("ACE_SOCK_Stream::recvv_n");
00088 return ACE::recvv_n (this->get_handle (),
00089 iov,
00090 n,
00091 timeout,
00092 bytes_transferred);
00093 }
00094
00095 ACE_INLINE ssize_t
00096 ACE_SOCK_Stream::send_n (const void *buf,
00097 size_t len,
00098 int flags,
00099 const ACE_Time_Value *timeout,
00100 size_t *bytes_transferred) const
00101 {
00102 ACE_TRACE ("ACE_SOCK_Stream::send_n");
00103 return ACE::send_n (this->get_handle (),
00104 buf,
00105 len,
00106 flags,
00107 timeout,
00108 bytes_transferred);
00109 }
00110
00111 ACE_INLINE ssize_t
00112 ACE_SOCK_Stream::send_n (const void *buf,
00113 size_t len,
00114 const ACE_Time_Value *timeout,
00115 size_t *bytes_transferred) const
00116 {
00117 ACE_TRACE ("ACE_SOCK_Stream::send_n");
00118 return ACE::send_n (this->get_handle (),
00119 buf,
00120 len,
00121 timeout,
00122 bytes_transferred);
00123 }
00124
00125 ACE_INLINE ssize_t
00126 ACE_SOCK_Stream::sendv_n (const iovec iov[],
00127 int n,
00128 const ACE_Time_Value *timeout,
00129 size_t *bytes_transferred) const
00130 {
00131 ACE_TRACE ("ACE_SOCK_Stream::sendv_n");
00132 return ACE::sendv_n (this->get_handle (),
00133 iov,
00134 n,
00135 timeout,
00136 bytes_transferred);
00137 }
00138
00139 ACE_INLINE ssize_t
00140 ACE_SOCK_Stream::send_n (const ACE_Message_Block *message_block,
00141 const ACE_Time_Value *timeout,
00142 size_t *bytes_transferred) const
00143 {
00144 ACE_TRACE ("ACE_SOCK_Stream::send_n");
00145 return ACE::send_n (this->get_handle (),
00146 message_block,
00147 timeout,
00148 bytes_transferred);
00149 }
00150
00151 ACE_INLINE ssize_t
00152 ACE_SOCK_Stream::send_urg (const void *ptr,
00153 size_t len,
00154 const ACE_Time_Value *timeout) const
00155 {
00156 ACE_TRACE ("ACE_SOCK_Stream::send_urg");
00157 return ACE::send (this->get_handle (),
00158 ptr,
00159 len,
00160 MSG_OOB,
00161 timeout);
00162 }
00163
00164 ACE_INLINE ssize_t
00165 ACE_SOCK_Stream::recv_urg (void *ptr,
00166 size_t len,
00167 const ACE_Time_Value *timeout) const
00168 {
00169 ACE_TRACE ("ACE_SOCK_Stream::recv_urg");
00170 return ACE::recv (this->get_handle (),
00171 ptr,
00172 len,
00173 MSG_OOB,
00174 timeout);
00175 }
00176
00177 ACE_END_VERSIONED_NAMESPACE_DECL