libassa  3.5.1
Public Types | Public Member Functions | Public Attributes | List of all members
ASSA::io_ptrs Class Reference

io_ptrs structure. More...

#include <Streambuf.h>

Inheritance diagram for ASSA::io_ptrs:
ASSA::Streambuf ASSA::Socketbuf

Public Types

enum  { USER_BUF = 1 , UNBUFFERED = 2 , EOF_SEEN = 4 , ERR_SEEN = 8 }
 

Public Member Functions

 io_ptrs ()
 
void dump () const
 

Public Attributes

char * m_read_base
 
char * m_read_ptr
 
char * m_read_end
 
char * m_write_base
 
char * m_write_ptr
 
char * m_write_end
 
char * m_buf_base
 
char * m_buf_end
 
int m_flags
 
char m_shortbuf [1]
 

Detailed Description

io_ptrs structure.

Definition at line 30 of file Streambuf.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
USER_BUF 
UNBUFFERED 
EOF_SEEN 
ERR_SEEN 

Definition at line 44 of file Streambuf.h.

44 { USER_BUF = 1, UNBUFFERED = 2, EOF_SEEN = 4, ERR_SEEN = 8 };

Constructor & Destructor Documentation

◆ io_ptrs()

ASSA::io_ptrs::io_ptrs ( )
inline

Definition at line 49 of file Streambuf.h.

49  : m_read_base (0), m_read_ptr (0), m_read_end (0),
50  m_write_base (0), m_write_ptr (0), m_write_end (0),
51  m_buf_base (0), m_buf_end (0), m_flags (0)
52  {
53  m_shortbuf [0] = 0;
54  }
char * m_write_base
Definition: Streambuf.h:37
char m_shortbuf[1]
Definition: Streambuf.h:47
char * m_write_ptr
Definition: Streambuf.h:38
char * m_write_end
Definition: Streambuf.h:39
char * m_read_ptr
Definition: Streambuf.h:34
char * m_read_end
Definition: Streambuf.h:35
char * m_buf_base
Definition: Streambuf.h:41
char * m_read_base
Definition: Streambuf.h:33
char * m_buf_end
Definition: Streambuf.h:42

References m_shortbuf.

Member Function Documentation

◆ dump()

void io_ptrs::dump ( void  ) const

Definition at line 22 of file Streambuf.cpp.

24 {
25 #ifdef LOG_PACKET
26  trace_with_mask("io_ptrs::dump",STRMBUF);
27  int len;
28 
29  DL((STRMBUF,"---Ptr------:---Val---\n"));
30  DL((STRMBUF,"m_read_base.: 0x%x\n", (u_long)m_read_base));
31  DL((STRMBUF,"m_read_ptr..: 0x%x\n", (u_long)m_read_ptr ));
32  DL((STRMBUF,"m_read_end..: 0x%x\n", (u_long)m_read_end ));
33 
34  if (m_read_ptr && (len = m_read_end - m_read_ptr) > 0) {
35  MemDump get_area (m_read_ptr, len);
36  DL((STRMBUF,"\n%s\n", get_area.getMemDump ()));
37  }
38 
39  DL((STRMBUF,"m_write_base: 0x%x\n", (u_long)m_write_base));
40  DL((STRMBUF,"m_write_ptr.: 0x%x\n", (u_long)m_write_ptr ));
41  DL((STRMBUF,"m_write_end.: 0x%x\n", (u_long)m_write_end ));
42 
43  if (m_write_base && (len = m_write_ptr - m_write_base) > 0) {
44  MemDump put_area (m_write_base, len);
45  DL((STRMBUF,"%s\n", put_area.getMemDump ()));
46  }
47 
48  DL((STRMBUF,"m_buf_base..: 0x%x\n", (u_long)m_buf_base ));
49  DL((STRMBUF,"m_buf_end...: 0x%x\n", (u_long)m_buf_end ));
50  DL((STRMBUF,"------------:---------\n");
51 
52 #endif
53 }
#define DL(X)
A macro for writing debug message to the Logger.
Definition: Logger.h:273
#define trace_with_mask(s, m)
trace_with_mask() is used to trace function call chain in C++ program.
Definition: Logger.h:437
unsigned long u_long
Definition: Logger_Impl.h:41
@ STRMBUF
Class Streambuf & friends messages
Definition: LogMask.h:45

References DL, ASSA::MemDump::getMemDump(), m_buf_base, m_buf_end, m_read_base, m_read_end, m_read_ptr, m_write_base, m_write_end, m_write_ptr, ASSA::STRMBUF, and trace_with_mask.

Referenced by ASSA::Socketbuf::doallocate(), ASSA::Socketbuf::overflow(), ASSA::Streambuf::setb(), ASSA::Streambuf::uflow(), and ASSA::Socketbuf::underflow().

Member Data Documentation

◆ m_buf_base

char* ASSA::io_ptrs::m_buf_base

◆ m_buf_end

char* ASSA::io_ptrs::m_buf_end

◆ m_flags

int ASSA::io_ptrs::m_flags

◆ m_read_base

char* ASSA::io_ptrs::m_read_base

◆ m_read_end

char* ASSA::io_ptrs::m_read_end

◆ m_read_ptr

char* ASSA::io_ptrs::m_read_ptr

◆ m_shortbuf

char ASSA::io_ptrs::m_shortbuf[1]

Definition at line 47 of file Streambuf.h.

Referenced by ASSA::Socketbuf::doallocate(), ASSA::Streambuf::init(), and io_ptrs().

◆ m_write_base

char* ASSA::io_ptrs::m_write_base

◆ m_write_end

char* ASSA::io_ptrs::m_write_end

◆ m_write_ptr

char* ASSA::io_ptrs::m_write_ptr

The documentation for this class was generated from the following files: