make filter removal and stream closure asynchronous.

This commit is contained in:
Bernhard Amann 2012-02-15 15:14:04 -08:00
parent 88233efb2c
commit a850cc5992
6 changed files with 200 additions and 78 deletions

View file

@ -26,6 +26,12 @@ public:
void Finish();
bool Update();
/**
* Disables the frontend that has instantiated this backend. Once
* disabled,the frontend will not send any further message over.
*/
void DisableFrontend();
protected:
// Methods that have to be overwritten by the individual readers
@ -40,16 +46,9 @@ protected:
// update file contents to logmgr
virtual bool DoUpdate() = 0;
// Reports an error to the user.
void Error(const string &msg);
//void Error(const char *msg);
// The following methods return the information as passed to Init().
const string Source() const { return source; }
// A thread-safe version of fmt(). (stolen from logwriter)
const char* Fmt(const char* format, ...);
void SendEvent(const string& name, const int num_vals, threading::Value* *vals);
// Content-sendinf-functions (simple mode). Including table-specific stuff that simply is not used if we have no table