RTBKit  0.9
Open-source framework to create real-time ad bidding systems.
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
Datacratic::RotatingOutput Struct Reference

#include <rotating_output.h>

Inheritance diagram for Datacratic::RotatingOutput:
Datacratic::LogOutput Datacratic::RotatingOutputAdaptor Datacratic::RotatingCloudOutput Datacratic::RotatingFileOutput

List of all members.

Public Member Functions

void open (const std::string &periodPattern)
virtual void performRotation ()
virtual void close ()

Protected Types

typedef boost::recursive_mutex Lock
typedef boost::unique_lock< Lock > Guard

Protected Member Functions

virtual void openSubordinate (Date newDate)=0
virtual void rotateSubordinate (Date newDate)=0
virtual void closeSubordinate ()=0

Protected Attributes

Lock lock
TimeGranularity granularity
int number
Date currentPeriodStart
 Start of current logging period.
double interval
 How many seconds from period start until we rotate.

Detailed Description

An output sink that rotates what it's writing to periodically.

Definition at line 26 of file rotating_output.h.


Member Function Documentation

Should close whatever resources are being used by the output and join any threads that it's created.

Implements Datacratic::LogOutput.

Reimplemented in Datacratic::RotatingOutputAdaptor.

Definition at line 58 of file rotating_output.cc.

virtual void Datacratic::RotatingOutput::closeSubordinate ( ) [protected, pure virtual]

Subclass must override to close the current sink.

virtual void Datacratic::RotatingOutput::openSubordinate ( Date  newDate) [protected, pure virtual]

Subclass must override this to open a sink for the given date and make it so that any record() calls write to that new sink.

virtual void Datacratic::RotatingOutput::rotateSubordinate ( Date  newDate) [protected, pure virtual]

Subclass must override this to atomically open a sink for the given date and replace the current sink so that any record() calls write to the new sink. When the function returns the old sink must not be written to anymore.

Note that due to the atomic requirement, this is NOT the same as just calling close on the old one and open on the new one.


The documentation for this struct was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator