#include <LogBuffer.h>

| 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 () | 
| LogBufferHeader * | header () | 
| long | expiration_time () | 
| void | update_header_data () | 
| uint32_t | get_id () | 
| LogObject * | get_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 | 
Definition at line 131 of file LogBuffer.h.
| 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.
| LogBuffer::LogBuffer | ( | LogObject * | owner, | |
| size_t | size, | |||
| size_t | buf_align = LB_DEFAULT_ALIGN, | |||
| size_t | write_align = INK_MIN_ALIGN | |||
| ) | 
Definition at line 127 of file LogBuffer.cc.
References align_pointer_forward(), Log::config, Debug, LogObject::get_base_filename(), LogBuffer(), M_ID, m_state, LogConfig::max_secs_per_buffer, LB_State::offset, LB_State::s, this_ethread(), and LogUtils::timestamp().
Referenced by LogBuffer().
| 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().
| LogBuffer::LB_ResultCode LogBuffer::checkin_write | ( | size_t | write_offset | ) | 
Definition at line 300 of file LogBuffer.cc.
References LB_State::full, ink_assert, LB_ALL_WRITERS_DONE, m_state, LB_State::num_writers, LB_State::offset, LB_State::s, and switch_state().
Referenced by LogObject::log().
| LogBuffer::LB_ResultCode LogBuffer::checkout_write | ( | size_t * | write_offset, | |
| size_t | write_size | |||
| ) | 
Definition at line 195 of file LogBuffer.cc.
References LogEntryHeader::entry_len, LB_State::full, INK_ALIGN, ink_assert, ink_gethrtimeofday(), LB_FULL_ACTIVE_WRITERS, LB_OK, m_state, LB_State::num_entries, LB_State::num_writers, LB_State::offset, LB_State::s, switch_state(), LogEntryHeader::timestamp, and LogEntryHeader::timestamp_usec.
| static void LogBuffer::destroy | ( | LogBuffer * | lb | ) |  [inline, static] | 
Definition at line 192 of file LogBuffer.h.
References ink_release_assert, and m_references.
Referenced by LogHost::orphan_write_and_try_delete(), LogHostList::preproc_and_try_delete(), LogHost::preproc_and_try_delete(), LogFile::preproc_and_try_delete(), and LogFlushData::~LogFlushData().
| 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] | 
Definition at line 167 of file LogBuffer.h.
Referenced by Log::flush_thread_main(), LogHost::orphan_write_and_try_delete(), LogHost::preproc_and_try_delete(), LogFile::preproc_and_try_delete(), and LogCollationClientSM::send().
| 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] | 
Definition at line 445 of file LogBuffer.cc.
References LogField::aggregate(), ats_free(), ats_malloc(), LogFieldList::count(), LogFieldList::first(), LOG_FIELD_MARKER, memcpy, LogFieldList::next(), Note, squid_timestamp_to_buf(), LogField::symbol(), LogUtils::timestamp_to_date_str(), LogUtils::timestamp_to_netscape_str(), LogUtils::timestamp_to_time_str(), to, LogField::unmarshal(), LogAccess::unmarshal_int_to_str(), and LogAccess::unmarshal_int_to_str_hex().
Referenced by resolve_logfield_string(), and to_ascii().
| LogBuffer::SLINK | ( | LogBuffer | , | |
| write_link | ||||
| ) | 
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] | 
Definition at line 628 of file LogBuffer.cc.
References ats_free(), ats_strdup, Debug, FieldListCacheElement::fieldlist, fieldlist_cache_entries, FIELDLIST_CACHE_SIZE, ink_assert, ink_strlcpy(), LOG_FORMAT_CUSTOM, LOG_FORMAT_TEXT, Note, LogFormat::parse_format_string(), LogFormat::parse_symbol_string(), resolve_custom_entry(), FieldListCacheElement::symbol_str, LogEntryHeader::timestamp, and LogEntryHeader::timestamp_usec.
Referenced by LogFile::write_ascii_logbuffer(), and LogFile::write_ascii_logbuffer3().
| void LogBuffer::update_header_data | ( | ) | 
Definition at line 417 of file LogBuffer.cc.
References LogBufferHeader::byte_count, LogBufferHeader::entry_count, LogBufferHeader::high_timestamp, m_state, LB_State::num_entries, LB_State::offset, LB_State::s, and LogUtils::timestamp().
| friend class LogBufferIterator  [friend] | 
Definition at line 231 of file LogBuffer.h.
| vint32 LogBuffer::M_ID = 0  [static] | 
Definition at line 176 of file LogBuffer.h.
Referenced by LogBuffer().
| volatile int LogBuffer::m_references | 
Definition at line 219 of file LogBuffer.h.
Referenced by destroy(), LogHostList::preproc_and_try_delete(), and LogFile::preproc_and_try_delete().
| volatile LB_State LogBuffer::m_state | 
Definition at line 218 of file LogBuffer.h.
Referenced by checkin_write(), checkout_write(), LogBuffer(), switch_state(), and update_header_data().
 1.7.1
 1.7.1