ACE_FIFO_Send_Msg Class Reference

Sender side for the Record oriented C++ wrapper for UNIX FIFOs. More...

#include <FIFO_Send_Msg.h>

Inheritance diagram for ACE_FIFO_Send_Msg:

Inheritance graph
[legend]
Collaboration diagram for ACE_FIFO_Send_Msg:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ACE_FIFO_Send_Msg (void)
 Default constructor.

 ACE_FIFO_Send_Msg (const ACE_TCHAR *rendezvous, int flags=O_WRONLY, mode_t perms=ACE_DEFAULT_FILE_PERMS, LPSECURITY_ATTRIBUTES sa=0)
 Open up a record-oriented named pipe for writing.

int open (const ACE_TCHAR *rendezvous, int flags=O_WRONLY, mode_t perms=ACE_DEFAULT_FILE_PERMS, LPSECURITY_ATTRIBUTES sa=0)
 Open up a record-oriented named pipe for writing.

ssize_t send (const ACE_Str_Buf &msg)
 Send of up to bytes.

ssize_t send (const void *buf, size_t len)
 Send of exactly bytes (block until done).

void dump (void) const
 Dump the state of an object.


Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.


Detailed Description

Sender side for the Record oriented C++ wrapper for UNIX FIFOs.

Definition at line 39 of file FIFO_Send_Msg.h.


Constructor & Destructor Documentation

ACE_FIFO_Send_Msg::ACE_FIFO_Send_Msg void   ) 
 

Default constructor.

Definition at line 55 of file FIFO_Send_Msg.cpp.

00056 {
00057 //  ACE_TRACE ("ACE_FIFO_Send_Msg::ACE_FIFO_Send_Msg");
00058 }

ACE_FIFO_Send_Msg::ACE_FIFO_Send_Msg const ACE_TCHAR rendezvous,
int  flags = O_WRONLY,
mode_t  perms = ACE_DEFAULT_FILE_PERMS,
LPSECURITY_ATTRIBUTES  sa = 0
 

Open up a record-oriented named pipe for writing.

Definition at line 70 of file FIFO_Send_Msg.cpp.

References ACE_ERROR, ACE_LIB_TEXT, ACE_TCHAR, ACE_TRACE, LM_ERROR, mode_t, and open().

00074 {
00075   ACE_TRACE ("ACE_FIFO_Send_Msg::ACE_FIFO_Send_Msg");
00076   if (this->ACE_FIFO_Send_Msg::open (fifo_name, flags, perms, sa) == -1)
00077     ACE_ERROR ((LM_ERROR,  ACE_LIB_TEXT ("%p\n"),  ACE_LIB_TEXT ("ACE_FIFO_Send_Msg")));
00078 }


Member Function Documentation

ACE_BEGIN_VERSIONED_NAMESPACE_DECL void ACE_FIFO_Send_Msg::dump void   )  const
 

Dump the state of an object.

Reimplemented from ACE_FIFO_Send.

Definition at line 19 of file FIFO_Send_Msg.cpp.

References ACE_TRACE, and ACE_FIFO_Send::dump().

00020 {
00021 #if defined (ACE_HAS_DUMP)
00022   ACE_TRACE ("ACE_FIFO_Send_Msg::dump");
00023   ACE_FIFO_Send::dump ();
00024 #endif /* ACE_HAS_DUMP */
00025 }

int ACE_FIFO_Send_Msg::open const ACE_TCHAR rendezvous,
int  flags = O_WRONLY,
mode_t  perms = ACE_DEFAULT_FILE_PERMS,
LPSECURITY_ATTRIBUTES  sa = 0
 

Open up a record-oriented named pipe for writing.

Reimplemented from ACE_FIFO_Send.

Definition at line 61 of file FIFO_Send_Msg.cpp.

References ACE_TCHAR, ACE_TRACE, mode_t, and ACE_FIFO_Send::open().

Referenced by ACE_FIFO_Send_Msg().

00065 {
00066   ACE_TRACE ("ACE_FIFO_Send_Msg::open");
00067   return ACE_FIFO_Send::open (fifo_name, flags | O_WRONLY, perms, sa);
00068 }

ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE ssize_t ACE_FIFO_Send_Msg::send const void *  buf,
size_t  len
 

Send of exactly bytes (block until done).

Reimplemented from ACE_FIFO_Send.

Definition at line 10 of file FIFO_Send_Msg.inl.

References ACE_TRACE, and send().

00011 {
00012   ACE_TRACE ("ACE_FIFO_Send_Msg::send");
00013   ACE_Str_Buf send_msg ((char *) buf, static_cast<int> (len));
00014 
00015   return this->send (send_msg);
00016 }

ssize_t ACE_FIFO_Send_Msg::send const ACE_Str_Buf msg  ) 
 

Send of up to bytes.

Definition at line 28 of file FIFO_Send_Msg.cpp.

References strbuf::buf, iovec::iov_base, iovec::iov_len, strbuf::len, ACE_OS::putmsg(), ssize_t, and ACE_OS::writev().

Referenced by send().

00029 {
00030   // ACE_TRACE ("ACE_FIFO_Send_Msg::send");
00031 #if defined (ACE_HAS_STREAM_PIPES)
00032   if (ACE_OS::putmsg (this->get_handle (),
00033                       (strbuf *) 0,
00034                       (strbuf *) &send_msg,
00035                       0) == -1)
00036     return -1;
00037   else
00038     return send_msg.len;
00039 #else
00040   iovec iov[2];
00041 
00042   iov[0].iov_base = (char *) &send_msg.len;
00043   iov[0].iov_len  = sizeof send_msg.len;
00044 
00045   iov[1].iov_base = (char *) send_msg.buf;
00046   iov[1].iov_len  =  static_cast<u_long> (send_msg.len);
00047 
00048   ssize_t sent = ACE_OS::writev (this->get_handle (), iov, 2);
00049   if (sent > 0)
00050     sent -= iov[0].iov_len;       // Don't count the length we added.
00051   return sent;
00052 #endif /* ACE_HAS_STREAM_PIPES */
00053 }


Member Data Documentation

ACE_FIFO_Send_Msg::ACE_ALLOC_HOOK_DECLARE
 

Declare the dynamic allocation hooks.

Reimplemented from ACE_FIFO_Send.

Definition at line 81 of file FIFO_Send_Msg.h.


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