OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
multicast_flags.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2018 Juniper Networks, Inc. All rights reserved.
3  */
4 
5 #ifndef SRC_BGP_EXTENDED_COMMUNITY_MULTICAST_FLAGS_H_
6 #define SRC_BGP_EXTENDED_COMMUNITY_MULTICAST_FLAGS_H_
7 
8 #include <boost/array.hpp>
9 
10 #include <string>
11 
12 #include "base/parse_object.h"
14 
16 public:
17  static const int kSize = 8;
18  typedef boost::array<uint8_t, kSize> bytes_type;
19 
20  explicit MulticastFlags();
21  explicit MulticastFlags(const bytes_type &data);
22 
23  const bytes_type &GetExtCommunity() const {
24  return data_;
25  }
26 
27  const uint64_t GetExtCommunityValue() const {
28  return get_value(data_.begin(), 8);
29  }
30 
31  std::string ToString();
32 
33 private:
35 };
36 
37 #endif // SRC_BGP_EXTENDED_COMMUNITY_MULTICAST_FLAGS_H_
static const int kSize
const bytes_type & GetExtCommunity() const
const uint64_t GetExtCommunityValue() const
static uint64_t get_value(const uint8_t *data, int size)
Definition: parse_object.h:39
boost::array< uint8_t, kSize > bytes_type
std::string ToString()
bytes_type data_