Public Types | Public Member Functions | Static Public Member Functions | Data Fields | Static Public Attributes | Friends

LogBuffer Class Reference

#include <LogBuffer.h>

Collaboration diagram for LogBuffer:
Collaboration graph
[legend]

Public Types

enum  LB_ResultCode {
  LB_OK = 0, LB_FULL_NO_WRITERS, LB_FULL_ACTIVE_WRITERS, LB_RETRY,
  LB_ALL_WRITERS_DONE, LB_BUSY, LB_BUFFER_TOO_SMALL
}

Public Member Functions

 SLINK (LogBuffer, write_link)
 LogBuffer (LogObject *owner, size_t size, size_t buf_align=LB_DEFAULT_ALIGN, size_t write_align=INK_MIN_ALIGN)
 LogBuffer (LogObject *owner, LogBufferHeader *header)
 ~LogBuffer ()
char & operator[] (int idx)
int switch_state (LB_State &old_state, LB_State &new_state)
LB_ResultCode checkout_write (size_t *write_offset, size_t write_size)
LB_ResultCode checkin_write (size_t write_offset)
void force_full ()
LogBufferHeaderheader ()
long expiration_time ()
void update_header_data ()
uint32_t get_id ()
LogObjectget_owner () const
 LINK (LogBuffer, link)

Static Public Member Functions

static size_t max_entry_bytes ()
static int to_ascii (LogEntryHeader *entry, LogFormatType type, char *buf, int max_len, const char *symbol_str, char *printf_str, unsigned buffer_version, const char *alt_format=NULL)
static int resolve_custom_entry (LogFieldList *fieldlist, char *printf_str, char *read_from, char *write_to, int write_to_len, long timestamp, long timestamp_us, unsigned buffer_version, LogFieldList *alt_fieldlist=NULL, char *alt_printf_str=NULL)
static void destroy (LogBuffer *lb)

Data Fields

volatile LB_State m_state
volatile int m_references

Static Public Attributes

static vint32 M_ID = 0

Friends

class LogBufferIterator

Detailed Description

Definition at line 131 of file LogBuffer.h.


Member Enumeration Documentation

Enumerator:
LB_OK 
LB_FULL_NO_WRITERS 
LB_FULL_ACTIVE_WRITERS 
LB_RETRY 
LB_ALL_WRITERS_DONE 
LB_BUSY 
LB_BUFFER_TOO_SMALL 

Definition at line 135 of file LogBuffer.h.


Constructor & Destructor Documentation

LogBuffer::LogBuffer ( LogObject owner,
size_t  size,
size_t  buf_align = LB_DEFAULT_ALIGN,
size_t  write_align = INK_MIN_ALIGN 
)
LogBuffer::LogBuffer ( LogObject owner,
LogBufferHeader header 
)

Definition at line 155 of file LogBuffer.cc.

References Debug, LogObject::get_base_filename(), LogBuffer(), M_ID, and this_ethread().

LogBuffer::~LogBuffer (  ) 

Definition at line 176 of file LogBuffer.cc.

References Debug, and this_ethread().


Member Function Documentation

LogBuffer::LB_ResultCode LogBuffer::checkin_write ( size_t  write_offset  ) 
LogBuffer::LB_ResultCode LogBuffer::checkout_write ( size_t *  write_offset,
size_t  write_size 
)
static void LogBuffer::destroy ( LogBuffer lb  )  [inline, static]
long LogBuffer::expiration_time (  )  [inline]

Definition at line 168 of file LogBuffer.h.

Referenced by LogObject::check_buffer_expiration().

void LogBuffer::force_full (  ) 
uint32_t LogBuffer::get_id (  )  [inline]

Definition at line 173 of file LogBuffer.h.

LogObject* LogBuffer::get_owner (  )  const [inline]

Definition at line 174 of file LogBuffer.h.

LogBufferHeader* LogBuffer::header (  )  [inline]
LogBuffer::LINK ( LogBuffer  ,
link   
)
size_t LogBuffer::max_entry_bytes (  )  [static]

Definition at line 436 of file LogBuffer.cc.

References Log::config.

char& LogBuffer::operator[] ( int  idx  )  [inline]

Definition at line 150 of file LogBuffer.h.

References ink_assert.

int LogBuffer::resolve_custom_entry ( LogFieldList fieldlist,
char *  printf_str,
char *  read_from,
char *  write_to,
int  write_to_len,
long  timestamp,
long  timestamp_us,
unsigned  buffer_version,
LogFieldList alt_fieldlist = NULL,
char *  alt_printf_str = NULL 
) [static]
LogBuffer::SLINK ( LogBuffer  ,
write_link   
)
int LogBuffer::switch_state ( LB_State old_state,
LB_State new_state 
) [inline]

Definition at line 157 of file LogBuffer.h.

References LB_State::ival, and m_state.

Referenced by checkin_write(), and checkout_write().

int LogBuffer::to_ascii ( LogEntryHeader entry,
LogFormatType  type,
char *  buf,
int  max_len,
const char *  symbol_str,
char *  printf_str,
unsigned  buffer_version,
const char *  alt_format = NULL 
) [static]
void LogBuffer::update_header_data (  ) 

Friends And Related Function Documentation

friend class LogBufferIterator [friend]

Definition at line 231 of file LogBuffer.h.


Field Documentation

vint32 LogBuffer::M_ID = 0 [static]

Definition at line 176 of file LogBuffer.h.

Referenced by LogBuffer().


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