SPSP
Simple publish-subscribe protocol. Connects low power IoT clients to MQTT.
All Classes Files Functions Variables Typedefs Enumerations
local_addr_mac.hpp
Go to the documentation of this file.
1 
10 #pragma once
11 
12 #include <string>
13 #include <vector>
14 
15 #include "spsp/local_addr.hpp"
16 
17 namespace SPSP
18 {
24  struct LocalAddrMAC : public LocalAddr
25  {
31  LocalAddrMAC(const uint8_t* mac = nullptr);
32 
38  static LocalAddrMAC local();
39 
45  static LocalAddrMAC zeroes();
46 
52  static LocalAddrMAC broadcast();
53 
59  void toMAC(uint8_t* mac) const;
60  };
61 }
62 
63 // Define hasher function
64 template<>
65 struct std::hash<SPSP::LocalAddrMAC>
66 {
67  std::size_t operator()(SPSP::LocalAddrMAC const& addr) const noexcept
68  {
69  return std::hash<SPSP::LocalAddr>{}(addr);
70  }
71 };
SPSP::LocalAddr
Local layer address container.
Definition: local_addr.hpp:25
SPSP::LocalAddrMAC::local
static LocalAddrMAC local()
Constructs a new object from MAC address of this node.
SPSP::LocalAddrMAC::broadcast
static LocalAddrMAC broadcast()
Constructs a new object from broadcast MAC address.
local_addr.hpp
Local layer address container.
SPSP::LocalAddrMAC::zeroes
static LocalAddrMAC zeroes()
Constructs a new object from 00:00:00:00:00:00 MAC address.
std::hash< SPSP::LocalAddr >
Definition: local_addr.hpp:55
SPSP::LocalAddrMAC
Local layer address container for MAC address.
Definition: local_addr_mac.hpp:24
SPSP::LocalAddrMAC::toMAC
void toMAC(uint8_t *mac) const
Converts LocalAddrMAC to MAC itself.
SPSP::LocalAddrMAC::LocalAddrMAC
LocalAddrMAC(const uint8_t *mac=nullptr)
Constructs a new object.