lokinet/include/llarp/routing/handler.hpp

42 lines
1.1 KiB
C++
Raw Normal View History

#ifndef LLARP_ROUTING_HANDLER_HPP
#define LLARP_ROUTING_HANDLER_HPP
2018-06-23 00:00:44 +00:00
#include <llarp/buffer.h>
2018-06-26 16:23:43 +00:00
#include <llarp/router.h>
#include <llarp/dht.hpp>
2018-07-12 18:21:44 +00:00
#include <llarp/messages/hidden_service.hpp>
#include <llarp/messages/path_confirm.hpp>
#include <llarp/messages/path_latency.hpp>
2018-06-26 16:23:43 +00:00
#include <llarp/messages/path_transfer.hpp>
2018-06-23 00:00:44 +00:00
namespace llarp
{
namespace routing
{
2018-06-26 16:23:43 +00:00
// handles messages on the routing level
struct IMessageHandler
{
2018-06-23 00:00:44 +00:00
virtual bool
2018-07-09 03:34:29 +00:00
HandlePathTransferMessage(const PathTransferMessage *msg,
llarp_router *r) = 0;
virtual bool
2018-07-12 18:21:44 +00:00
HandleHiddenServiceFrame(const HiddenServiceFrame *msg)
{
return false;
}
virtual bool
2018-07-09 03:34:29 +00:00
HandlePathConfirmMessage(const PathConfirmMessage *msg,
llarp_router *r) = 0;
virtual bool
2018-07-09 03:34:29 +00:00
HandlePathLatencyMessage(const PathLatencyMessage *msg,
llarp_router *r) = 0;
2018-06-26 16:23:43 +00:00
virtual bool
2018-07-09 03:34:29 +00:00
HandleDHTMessage(const llarp::dht::IMessage *msg, llarp_router *r) = 0;
};
} // namespace routing
} // namespace llarp
#endif