Line data Source code
1 : /* 2 : * Copyright (c) 2013 Juniper Networks, Inc. All rights reserved. 3 : * Copyright Contributors to the OpenSDN project 4 : */ 5 : 6 : #ifndef ctrlplane_path_h 7 : #define ctrlplane_path_h 8 : 9 : #include <boost/intrusive/list.hpp> 10 : 11 : class Path { 12 : public: 13 969343 : Path() : time_stamp_usecs_(0) { 14 969329 : } 15 968898 : virtual ~Path() { } 16 : virtual std::string ToString() const = 0; 17 : 18 5601 : const uint64_t time_stamp_usecs() const { return time_stamp_usecs_; } 19 2095157 : void set_time_stamp_usecs(uint64_t time_stamp_usecs) { 20 2095157 : time_stamp_usecs_ = time_stamp_usecs; 21 2095157 : } 22 : 23 : private: 24 : friend class Route; 25 : boost::intrusive::list_member_hook<> node_; 26 : uint64_t time_stamp_usecs_; 27 : DISALLOW_COPY_AND_ASSIGN(Path); 28 : }; 29 : 30 : #endif