27 #ifndef Hypertable_RangeServer_UpdatePipeline_h 
   28 #define Hypertable_RangeServer_UpdatePipeline_h 
   41 #include <condition_variable> 
  122                        int64_t revision, int64_t *revisionp,
 
  123                        bool timeorder_desc);
 
  199 #endif // Hypertable_RangeServer_UpdatePipeline_h 
std::list< UpdateContext * > m_commit_queue
Stage 2 input queue. 
std::mutex m_commit_queue_mutex
Mutex protecting stage 2 input queue 
void shutdown()
Shuts down the pipeline Sets m_shutdown to true, signals the three pipeline condition variables...
std::shared_ptr< Context > m_context
Range server context 
Abstract base class for a filesystem. 
UpdatePipeline(ContextPtr &context, QueryCachePtr &query_cache, TimerHandlerPtr &timer_handler, CommitLogPtr &log, Filesystem::Flags flags)
Constructor. 
std::shared_ptr< UpdatePipeline > UpdatePipelinePtr
Smart pointer to UpdatePipeline. 
void commit()
Thread function for stage 2 of update pipeline. 
Flags
Enumeration type for append flags. 
int64_t m_last_revision
Last (largest) assigned revision number. 
void transform_key(ByteString &bskey, DynamicBuffer *dest_bufp, int64_t revision, int64_t *revisionp, bool timeorder_desc)
Three-staged, multithreaded update pipeline. 
Filesystem::Flags m_flags
Commit log flush flag (NONE, FLUSH, or SYNC) 
Declarations for Context. 
bool m_shutdown
Flag indicating if pipeline is being shut down. 
int32_t m_maintenance_pause_interval
Millisecond pause time at the end of the pipeline (TESTING) 
A dynamic, resizable and reference counted memory buffer. 
static const int64_t TIMESTAMP_MIN
std::mutex m_response_queue_mutex
Mutex protecting stage 3 input queue 
std::vector< std::thread > m_threads
Update pipeline threads. 
std::shared_ptr< Context > ContextPtr
Smart pointer to Context. 
A class managing one or more serializable ByteStrings. 
std::mutex m_qualify_queue_mutex
Mutex protecting stage 1 input queue 
std::condition_variable m_response_queue_cond
Condition variable signaling addition to stage 3 input queue. 
std::list< UpdateContext * > m_qualify_queue
Stage 1 input queue. 
void add_and_respond()
Thread function for stage 3 of update pipeline. 
A dynamic, resizable memory buffer. 
uint64_t m_update_coalesce_limit
Commit log coalesce limit. 
TimerHandlerPtr m_timer_handler
Pointer to timer handler. 
std::list< UpdateContext * > m_response_queue
Stage 3 input queue. 
int32_t m_commit_queue_count
Count of objects in stage 2 input queue. 
std::shared_ptr< TimerHandler > TimerHandlerPtr
Smart pointer to TimerHandler. 
Declarations for TimerHandler. 
std::shared_ptr< QueryCache > QueryCachePtr
Smart pointer to QueryCache. 
int32_t m_max_clock_skew
Maximum allowable clock skew. 
Context record for update request passed into UpdatePipeline. 
std::condition_variable m_commit_queue_cond
Condition variable signaling addition to stage 2 input queue. 
uint32_t m_update_delay
Update delay at start of pipeline (TESTING) 
std::condition_variable m_qualify_queue_cond
Condition variable signaling addition to stage 1 input queue. 
void qualify_and_transform()
Thread function for stage 1 of update pipeline. 
std::shared_ptr< CommitLog > CommitLogPtr
Smart pointer to CommitLog. 
A serializable ByteString. 
void add(UpdateContext *uc)
Adds updates to pipeline Adds uc to m_qualify_queue and signals m_qualify_queue_cond. 
CommitLogPtr m_log
Pointer to commit log. 
QueryCachePtr m_query_cache
Pointer to query cache.