OpenSDN source code
bfdd.cc
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2014 CodiLime, Inc. All rights reserved.
3  */
4 
5 #include <boost/bind/bind.hpp>
6 #include <boost/asio/ip/host_name.hpp>
7 #include <boost/foreach.hpp>
8 #include <boost/tokenizer.hpp>
9 #include <boost/assign/list_of.hpp>
10 #include <boost/thread/thread.hpp>
11 #include <rapidjson/document.h>
12 #include <rapidjson/writer.h>
13 #include <rapidjson/stringbuffer.h>
14 
15 #include "base/logging.h"
16 #include "http/http_request.h"
17 #include "http/http_session.h"
18 #include "http/http_server.h"
19 #include "io/event_manager.h"
20 #include "sandesh/sandesh_types.h"
21 #include "sandesh/sandesh_constants.h"
22 #include "sandesh/sandesh.h"
23 #include "sandesh/request_pipeline.h"
24 
25 #include "bfd/bfd_client.h"
26 #include "bfd/bfd_server.h"
27 #include "bfd/bfd_session.h"
28 #include "bfd/bfd_common.h"
29 #include "bfd/bfd_udp_connection.h"
32 
33 using namespace BFD;
34 using namespace boost::placeholders;
35 
36 class Communicator : public Connection {
37 public:
39  virtual ~Communicator() { }
40 
41  virtual void SendPacket(
42  const boost::asio::ip::udp::endpoint &local_endpoint,
43  const boost::asio::ip::udp::endpoint &remote_endpoint,
44  const SessionIndex &session_index,
45  const boost::asio::mutable_buffer &send, int pktSize) {
46  }
47  virtual void NotifyStateChange(const SessionKey &key, const bool &up) {
48  }
49  virtual Server *GetServer() const { return server_; }
50  virtual void SetServer(Server *server) { server_ = server; }
51 
52 private:
54 };
55 
56 
57 int main(int argc, char *argv[]) {
58  LoggingInit();
60  Communicator cm;
61  Server server(&evm, &cm);
62  Client bfd_client(server.communicator());
63  evm.Run();
64  return 0;
65 }
Connection * communicator() const
Definition: bfd_server.h:55
Server * server_
Definition: bfdd.cc:53
virtual Server * GetServer() const
Definition: bfdd.cc:49
virtual ~Communicator()
Definition: bfdd.cc:39
virtual void SendPacket(const boost::asio::ip::udp::endpoint &local_endpoint, const boost::asio::ip::udp::endpoint &remote_endpoint, const SessionIndex &session_index, const boost::asio::mutable_buffer &send, int pktSize)
Definition: bfdd.cc:41
virtual void SetServer(Server *server)
Definition: bfdd.cc:50
Communicator()
Definition: bfdd.cc:38
virtual void NotifyStateChange(const SessionKey &key, const bool &up)
Definition: bfdd.cc:47
static EventManager evm
void LoggingInit()
Definition: logging.cc:82
Definition: bfd_client.h:9