# Packages
Package ads provides a bundle for peer information advertisement types and initial generation of them, and deriving a peer node data structure from the ad set received over the gossip network.
Package consts is a series of constants common to several different onion message types.
Package dispatcher is a network packet send/receive handler for peer to peer connections between relays.
Package magic is a simple specification and error helper for message identifying 4 byte strings that are used for the switching logic of a relay.
Package node is a specification for the in-memory metadata related to an indra network peer.
Package packet handles segmenting messages into uniform sized packets and generating a stream of cipher halves and receiver cloaked addresses to encrypt them with, and reassembling the segments into the original messages.
Package payments provides an abstraction above the implementation for handling Lightning Network payments and storing pending payments awaiting session keys.
No description provided by the author
Package responses handles waiting for and responding to received responses, including tracking the session billing and custom callback hooks when responses arrive.
Package services defines the base data structure for a service.
Package sess provides the Session Manager, which keeps track of a client's sessions.
Package sessions defines some key data structures relating to the data for sessions, imported by sess package for reading and writing session and circuit metadata.
Package tpt provides the definition of the interface Transport, which is an abstraction used for reading and writing to peers via transport.Transport.
Package transport provides a set of definitions of abstractions that layer above the implementation enabling the use of simple functions that interact on channels to queue and receive messages from the tpt.Transport of which several variants are here implemented.
# Functions
No description provided by the author
CreateMockEngine creates an indra Engine with a random localhost listener.
CreateNMockCircuits creates an arbitrary number of mock circuits from the given specification, with an arbitrary number of mock sessions.
CreateNMockCircuitsWithSessions creates an arbitrary number of mock circuits from the given specification, with an arbitrary number of mock sessions.
MakeExit constructs a message containing an arbitrary payload to a node (3rd hop) with a set of 3 ciphers derived from the hidden PayloadPub of the return hops that are layered progressively after the Exit message.
MakeGetBalance sends out a request in a similar way to Exit except the node being queried can be any of the 5.
MakeHiddenService constructs a services message for designating introducers to refer clients to hidden services.
MakeIntroQuery constructs a message to query a peer for an intro for a designated hidden service address.
MakeReplyHeader constructs a reply header for hidden service messages.
MakeRoute constructs a Route message, which a client sends a RoutingHeader to a hidden service for them to reply with a Ready message for establishing a session with a hidden service.
MakeSession constructs a set of 5 ForwardSession messages to deliver the session keys to newly established sessions paid for via LN.
New creates a new Engine according to the Params given.
Ping is a message which checks the liveness of relays by ensuring they are correctly relaying messages.
PostAcctOnion takes a slice of Skins and calculates their costs and the list of sessions inside them and attaches accounting operations to apply when the associated confirmation(s) or response hooks are executed.
SetupGossip establishes a connection of a Host to the pubsub gossip network used by Indra to propagate peer metadata.
# Constants
ErrWrongTypeDecode indicates a message has the wrong magic.
PubSubTopic is the pubsub topic identifier for indra peer information advertisements.
# Structs
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Type aliases
No description provided by the author