Safe Haskell | None |
---|---|
Language | Haskell2010 |
Routines for tracking Tor directory servicers.
- data Directory = Directory {}
- data DirectoryDB
- newDirectoryDatabase :: TorNetworkStack ls s -> (String -> IO ()) -> IO DirectoryDB
- sendRouterDescription :: TorNetworkStack ls s -> (String -> IO ()) -> DirectoryDB -> RouterDesc -> PrivateKey -> IO ()
- getRandomDirectory :: DRG g => g -> DirectoryDB -> IO (Directory, g)
- findDirectory :: ByteString -> DirectoryDB -> IO (Maybe Directory)
- addDirectory :: TorNetworkStack ls s -> (String -> IO ()) -> DirectoryDB -> Authority -> IO ()
Documentation
The information about a directory within the Tor network.
Directory | |
|
data DirectoryDB Source
The current directory database available to the node.
newDirectoryDatabase :: TorNetworkStack ls s -> (String -> IO ()) -> IO DirectoryDB Source
Generate a directory of available databases from which we can pull router lists and publish our own router information, as necessary.
sendRouterDescription :: TorNetworkStack ls s -> (String -> IO ()) -> DirectoryDB -> RouterDesc -> PrivateKey -> IO () Source
Send our router description to all of the directories we know about.
getRandomDirectory :: DRG g => g -> DirectoryDB -> IO (Directory, g) Source
Select a random directory.
findDirectory :: ByteString -> DirectoryDB -> IO (Maybe Directory) Source
Find a directory that matches the given fingerprint.
addDirectory :: TorNetworkStack ls s -> (String -> IO ()) -> DirectoryDB -> Authority -> IO () Source
Add a new directory to our set of known directories.