#ifndef LLARP_MESSAGES_RELAY_HPP #define LLARP_MESSAGES_RELAY_HPP #include #include #include #include #include namespace llarp { struct RelayUpstreamMessage : public ILinkMessage { PathID_t pathid; Encrypted X; TunnelNonce Y; RelayUpstreamMessage(); RelayUpstreamMessage(ILinkSession* from); ~RelayUpstreamMessage(); bool DecodeKey(llarp_buffer_t key, llarp_buffer_t* buf); bool BEncode(llarp_buffer_t* buf) const; bool HandleMessage(llarp_router* router) const; }; struct RelayDownstreamMessage : public ILinkMessage { PathID_t pathid; Encrypted X; TunnelNonce Y; RelayDownstreamMessage(); RelayDownstreamMessage(ILinkSession* from); ~RelayDownstreamMessage(); bool DecodeKey(llarp_buffer_t key, llarp_buffer_t* buf); bool BEncode(llarp_buffer_t* buf) const; bool HandleMessage(llarp_router* router) const; }; } // namespace llarp #endif