Transport.cpp File Reference

#include "tao/Transport.h"
#include "tao/LF_Follower.h"
#include "tao/Leader_Follower.h"
#include "tao/Client_Strategy_Factory.h"
#include "tao/Wait_Strategy.h"
#include "tao/Transport_Mux_Strategy.h"
#include "tao/Stub.h"
#include "tao/Transport_Queueing_Strategies.h"
#include "tao/Connection_Handler.h"
#include "tao/Pluggable_Messaging.h"
#include "tao/Synch_Queued_Message.h"
#include "tao/Asynch_Queued_Message.h"
#include "tao/Flushing_Strategy.h"
#include "tao/Thread_Lane_Resources.h"
#include "tao/Resume_Handle.h"
#include "tao/Codeset_Manager.h"
#include "tao/Codeset_Translator_Base.h"
#include "tao/debug.h"
#include "tao/CDR.h"
#include "tao/ORB_Core.h"
#include "tao/MMAP_Allocator.h"
#include "tao/SystemException.h"
#include "ace/OS_NS_sys_time.h"
#include "ace/OS_NS_stdio.h"
#include "ace/Reactor.h"
#include "ace/os_include/sys/os_uio.h"
#include "ace/High_Res_Timer.h"
#include "ace/CORBA_macros.h"

Include dependency graph for Transport.cpp:

Include dependency graph

Go to the source code of this file.

Functions

void dump_iov (iovec *iov, int iovcnt, size_t id, size_t current_transfer, const char *location)


Function Documentation

void dump_iov iovec *  iov,
int  iovcnt,
size_t  id,
size_t  current_transfer,
const char *  location
[static]
 

Definition at line 53 of file Transport.cpp.

References ACE_DEBUG, ACE_HEX_DUMP, ACE_SIZE_T_FORMAT_SPECIFIER, ACE_TCHAR, ACE_TEXT, ACE_TEXT_CHAR_TO_TCHAR, LM_DEBUG, and ACE_OS::sprintf().

Referenced by TAO_Transport::drain_queue_helper().

00056 {
00057   ACE_Guard <ACE_Log_Msg> log_guard (*ACE_Log_Msg::instance ());
00058 
00059   ACE_DEBUG ((LM_DEBUG,
00060               ACE_TEXT ("TAO (%P|%t) - Transport[%d]::%s, ")
00061               ACE_TEXT ("sending %d buffers\n"),
00062               id, ACE_TEXT_CHAR_TO_TCHAR (location), iovcnt));
00063 
00064   for (int i = 0; i != iovcnt && 0 < current_transfer; ++i)
00065     {
00066       size_t iov_len = iov[i].iov_len;
00067 
00068       // Possibly a partially sent iovec entry.
00069       if (current_transfer < iov_len)
00070         {
00071           iov_len = current_transfer;
00072         }
00073 
00074       ACE_DEBUG ((LM_DEBUG,
00075                   ACE_TEXT ("TAO (%P|%t) - Transport[%d]::%s, ")
00076                   ACE_TEXT ("buffer %d/%d has %d bytes\n"),
00077                   id, ACE_TEXT_CHAR_TO_TCHAR(location),
00078                   i, iovcnt,
00079                   iov_len));
00080 
00081       size_t len;
00082 
00083       for (size_t offset = 0; offset < iov_len; offset += len)
00084         {
00085           ACE_TCHAR header[1024];
00086           ACE_OS::sprintf (header,
00087                            ACE_TEXT("TAO - ")
00088                            ACE_TEXT("Transport[")
00089                            ACE_SIZE_T_FORMAT_SPECIFIER
00090                            ACE_TEXT("]::%s")
00091                            ACE_TEXT(" (")
00092                            ACE_SIZE_T_FORMAT_SPECIFIER ACE_TEXT("/")
00093                            ACE_SIZE_T_FORMAT_SPECIFIER ACE_TEXT(")"),
00094                            id, location, offset, iov_len);
00095 
00096           len = iov_len - offset;
00097 
00098           if (len > 512)
00099             {
00100               len = 512;
00101             }
00102 
00103           ACE_HEX_DUMP ((LM_DEBUG,
00104                          static_cast<char*> (iov[i].iov_base) + offset,
00105                          len,
00106                          header));
00107         }
00108       current_transfer -= iov_len;
00109     }
00110 
00111   ACE_DEBUG ((LM_DEBUG,
00112               ACE_TEXT ("TAO (%P|%t) - Transport[%d]::%s, ")
00113               ACE_TEXT ("end of data\n"),
00114               id, ACE_TEXT_CHAR_TO_TCHAR(location)));
00115 }


Generated on Sun Jan 27 13:13:19 2008 for TAO by doxygen 1.3.6