SPSP
Simple publish-subscribe protocol. Connects low power IoT clients to MQTT.
All Classes Files Functions Variables Typedefs Enumerations
nodes_dummy.hpp
Go to the documentation of this file.
1 
10 #pragma once
11 
12 #include "spsp/node.hpp"
13 
14 namespace SPSP::Nodes
15 {
21  template <typename TLocalLayer>
22  class DummyLocalNode : public ILocalNode<TLocalLayer>
23  {
24  public:
25  using LocalAddrT = typename TLocalLayer::LocalAddrT;
26  using LocalMessageT = typename TLocalLayer::LocalMessageT;
27 
29 
30  virtual bool publish(const std::string& topic,
31  const std::string& payload) { return true; }
32 
33  virtual bool subscribe(const std::string& topic, SubscribeCb cb) { return true; }
34 
35  virtual bool unsubscribe(const std::string& topic) { return true; }
36 
37  virtual void resubscribeAll() {}
38 
39  protected:
40  virtual bool processProbeReq(const LocalMessageT& req,
41  int rssi = NODE_RSSI_UNKNOWN) { return true; }
42 
43  virtual bool processProbeRes(const LocalMessageT& req,
44  int rssi = NODE_RSSI_UNKNOWN) { return true; }
45 
46  virtual bool processPub(const LocalMessageT& req,
47  int rssi = NODE_RSSI_UNKNOWN) { return true; }
48 
49  virtual bool processSubReq(const LocalMessageT& req,
50  int rssi = NODE_RSSI_UNKNOWN) { return true; }
51 
52  virtual bool processSubData(const LocalMessageT& req,
53  int rssi = NODE_RSSI_UNKNOWN) { return true; }
54 
55  virtual bool processUnsub(const LocalMessageT& req,
56  int rssi = NODE_RSSI_UNKNOWN) { return true; }
57 
58  virtual bool processTimeReq(const LocalMessageT& req,
59  int rssi = NODE_RSSI_UNKNOWN) { return true; }
60 
61  virtual bool processTimeRes(const LocalMessageT& req,
62  int rssi = NODE_RSSI_UNKNOWN) { return true; }
63  };
64 } // namespace SPSP::Nodes
SPSP::ILocalNode
Generic local node of SPSP.
Definition: layers.hpp:17
SPSP::Nodes::DummyLocalNode::processTimeRes
virtual bool processTimeRes(const LocalMessageT &req, int rssi=NODE_RSSI_UNKNOWN)
Processes TIME_RES message.
Definition: nodes_dummy.hpp:61
SPSP::Nodes::DummyLocalNode::processProbeReq
virtual bool processProbeReq(const LocalMessageT &req, int rssi=NODE_RSSI_UNKNOWN)
Processes PROBE_REQ message.
Definition: nodes_dummy.hpp:40
SPSP::Nodes::DummyLocalNode
Dummy local node for testing.
Definition: nodes_dummy.hpp:22
node.hpp
Node interface for SPSP.
SPSP::Nodes::DummyLocalNode::processProbeRes
virtual bool processProbeRes(const LocalMessageT &req, int rssi=NODE_RSSI_UNKNOWN)
Processes PROBE_RES message.
Definition: nodes_dummy.hpp:43
SPSP::Nodes::DummyLocalNode::processPub
virtual bool processPub(const LocalMessageT &req, int rssi=NODE_RSSI_UNKNOWN)
Processes PUB message.
Definition: nodes_dummy.hpp:46
SPSP::SubscribeCb
std::function< void(const std::string &topic, const std::string &payload)> SubscribeCb
Subscribe callback type.
Definition: node.hpp:42
SPSP::Nodes::DummyLocalNode::processSubData
virtual bool processSubData(const LocalMessageT &req, int rssi=NODE_RSSI_UNKNOWN)
Processes SUB_DATA message.
Definition: nodes_dummy.hpp:52
SPSP::Nodes::DummyLocalNode::processSubReq
virtual bool processSubReq(const LocalMessageT &req, int rssi=NODE_RSSI_UNKNOWN)
Processes SUB_REQ message.
Definition: nodes_dummy.hpp:49
SPSP::Nodes::DummyLocalNode::processUnsub
virtual bool processUnsub(const LocalMessageT &req, int rssi=NODE_RSSI_UNKNOWN)
Processes UNSUB message.
Definition: nodes_dummy.hpp:55
SPSP::Nodes::DummyLocalNode::processTimeReq
virtual bool processTimeReq(const LocalMessageT &req, int rssi=NODE_RSSI_UNKNOWN)
Processes TIME_REQ message.
Definition: nodes_dummy.hpp:58