module OnionRouter where import Crypto.Tox import Network.Kademlia import Network.Kademlia.Routing import Network.QueryResponse import Network.Tox.NodeId import Network.Tox.Onion.Transport import Network.Socket (SockAddr) import Control.Concurrent.STM newtype RouteId = RouteId Int deriving Show data OnionRouter newOnionRouter :: IO OnionRouter newOnionRouter = return _todo lookupSender :: OnionRouter -> SockAddr -> Nonce8 -> IO (Maybe (NodeInfo, RouteId)) lookupSender _ _ _ = return Nothing -- todo lookupRoute :: OnionRouter -> NodeInfo -> RouteId -> IO (Maybe OnionRoute) lookupRoute _ _ _ = return Nothing -- todo hookQueries :: OnionRouter -> (tid -> Nonce8) -> TransactionMethods d tid x -> TransactionMethods d tid x hookQueries _ n8 tmethods = tmethods -- todo hookBucketList :: OnionRouter -> RoutingTransition ni -> STM () hookBucketList _ _ = return () -- todo