#ifndef LLARP_MESSAGES_RELAY_HPP #define LLARP_MESSAGES_RELAY_HPP #include #include #include #include #include namespace llarp { struct RelayUpstreamMessage : public ILinkMessage { Encrypted X; TunnelNonce Y; bool DecodeKey(const llarp_buffer_t& key, llarp_buffer_t* buf) override; bool BEncode(llarp_buffer_t* buf) const override; bool HandleMessage(AbstractRouter* router) const override; void Clear() override; const char* Name() const override { return "RelayUpstream"; } uint16_t Priority() const override { return 0; } }; struct RelayDownstreamMessage : public ILinkMessage { Encrypted X; TunnelNonce Y; bool DecodeKey(const llarp_buffer_t& key, llarp_buffer_t* buf) override; bool BEncode(llarp_buffer_t* buf) const override; bool HandleMessage(AbstractRouter* router) const override; void Clear() override; const char* Name() const override { return "RelayDownstream"; } uint16_t Priority() const override { return 0; } }; } // namespace llarp #endif