mirror of https://github.com/oxen-io/lokinet
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.2 KiB
C++
47 lines
1.2 KiB
C++
#ifndef LLARP_ROUTING_HANDLER_HPP
|
|
#define LLARP_ROUTING_HANDLER_HPP
|
|
|
|
#include <llarp/buffer.h>
|
|
#include <llarp/router.h>
|
|
#include <llarp/dht.hpp>
|
|
|
|
#include <llarp/messages/path_confirm.hpp>
|
|
#include <llarp/messages/path_latency.hpp>
|
|
|
|
#include <llarp/messages/path_transfer.hpp>
|
|
|
|
namespace llarp
|
|
{
|
|
namespace routing
|
|
{
|
|
struct DataDiscardMessage;
|
|
|
|
// handles messages on the routing level
|
|
struct IMessageHandler
|
|
{
|
|
virtual bool
|
|
HandleDataDiscardMessage(const DataDiscardMessage *msg,
|
|
llarp_router *r) = 0;
|
|
|
|
virtual bool
|
|
HandlePathTransferMessage(const PathTransferMessage *msg,
|
|
llarp_router *r) = 0;
|
|
|
|
virtual bool
|
|
HandleHiddenServiceFrame(const service::ProtocolFrame *msg) = 0;
|
|
|
|
virtual bool
|
|
HandlePathConfirmMessage(const PathConfirmMessage *msg,
|
|
llarp_router *r) = 0;
|
|
|
|
virtual bool
|
|
HandlePathLatencyMessage(const PathLatencyMessage *msg,
|
|
llarp_router *r) = 0;
|
|
virtual bool
|
|
HandleDHTMessage(const llarp::dht::IMessage *msg, llarp_router *r) = 0;
|
|
};
|
|
} // namespace routing
|
|
} // namespace llarp
|
|
|
|
#endif
|