#pragma once #include "pendingbuffer.hpp" #include "router_lookup_job.hpp" #include "session.hpp" #include #include #include #include #include #include namespace llarp { // clang-format off namespace exit { struct BaseSession; } namespace path { struct Path; using Path_ptr = std::shared_ptr< Path >; } namespace routing { struct PathTransferMessage; } // clang-format on namespace service { struct IServiceLookup; struct OutboundContext; using Msg_ptr = std::shared_ptr; using SendEvent_t = std::pair; using SendMessageQueue_t = thread::Queue; using PendingBufferQueue = std::deque; using PendingTraffic = std::unordered_map; using ProtocolMessagePtr = std::shared_ptr; using RecvPacketQueue_t = thread::Queue; using PendingRouters = std::unordered_map; using PendingLookups = std::unordered_map>; using Sessions = std::unordered_multimap>; using SNodeSessions = std::unordered_map>; using ConvoMap = std::unordered_map; /// set of outbound addresses to maintain to using OutboundSessions_t = std::unordered_set
; using PathEnsureHook = std::function; using LNSNameCache = std::unordered_map>; } // namespace service } // namespace llarp