28 #ifndef Hypertable_Lib_RangeServerRecovery_FragmentReplayPlan_h
29 #define Hypertable_Lib_RangeServerRecovery_FragmentReplayPlan_h
34 #include <boost/multi_index_container.hpp>
35 #include <boost/multi_index/ordered_index.hpp>
36 #include <boost/multi_index/member.hpp>
42 namespace RangeServerRecovery {
54 : location(location), fragment(fragment) { }
60 uint8_t encoding_version()
const override;
65 size_t encoded_length_internal()
const override;
69 void encode_internal(uint8_t **bufp)
const override;
77 void decode_internal(uint8_t version,
const uint8_t **bufp,
78 size_t *remainp)
override;
84 os <<
"{FragmentReplayPlan:location=" << entry.
location<<
", fragment="
92 typedef boost::multi_index_container<
95 ordered_unique<tag<FragmentReplayPlanById>,
96 member<FragmentReplayPlan,
98 ordered_non_unique<tag<FragmentReplayPlanByLocation>,
99 member<FragmentReplayPlan,
110 #endif // Hypertable_Lib_RangeServerRecovery_FragmentReplayPlan_h
FragmentReplayPlan(const string &location, uint32_t fragment=0)
FragmentReplayPlanContainer::index< FragmentReplayPlanById >::type FragmentReplayPlanIdIndex
FragmentReplayPlan(uint32_t fragment)
FragmentReplayPlanContainer::index< FragmentReplayPlanByLocation >::type FragmentReplayPlanLocationIndex
Declarations for Serializable.
Mixin class that provides a standard serialization interface.
friend ostream & operator<<(ostream &os, const FragmentReplayPlan &entry)
String extensions and helpers: sets, maps, append operators etc.
boost::multi_index_container< FragmentReplayPlan, indexed_by< ordered_unique< tag< FragmentReplayPlanById >, member< FragmentReplayPlan, uint32_t,&FragmentReplayPlan::fragment > >, ordered_non_unique< tag< FragmentReplayPlanByLocation >, member< FragmentReplayPlan, string,&FragmentReplayPlan::location > > > > FragmentReplayPlanContainer