5 #ifndef ctrlplane_label_block_h
6 #define ctrlplane_label_block_h
9 #include <boost/intrusive_ptr.hpp>
10 #include <tbb/mutex.h>
56 block_manager->
refcount_.fetch_and_increment();
59 int prev = block_manager->
refcount_.fetch_and_decrement();
118 int prev = block->
refcount_.fetch_and_decrement();
int intrusive_ptr_add_ref(const AsPath *cpath)
LabelBlockManagerPtr block_manager_
boost::intrusive_ptr< LabelBlockManager > LabelBlockManagerPtr
std::string ToString() const
boost::intrusive_ptr< LabelBlock > LabelBlockPtr
friend void intrusive_ptr_add_ref(LabelBlock *block)
tbb::atomic< int > refcount_
friend class LabelBlockTest
friend class LabelBlockTest
void RemoveBlock(LabelBlock *block)
tbb::atomic< int > refcount_
void ReleaseLabel(uint32_t value)
friend void intrusive_ptr_add_ref(LabelBlockManager *block_manager)
friend void intrusive_ptr_release(LabelBlock *block)
std::vector< LabelBlock * > LabelBlockList
void intrusive_ptr_release(const AsPath *cpath)
LabelBlockPtr LocateBlock(uint32_t first, uint32_t last)
LabelBlockManagerPtr block_manager()
LabelBlock(uint32_t first, uint32_t last)
friend void intrusive_ptr_release(LabelBlockManager *block_manager)