Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterSignalCallback ¶
func RegisterSignalCallback(callback SignalCallback)
RegisterSignalCallback registers given callback to call on SIGTERM and SIGHUP interrupts
Types ¶
type Dependencies ¶
type Dependencies struct { Node *Node HTTPTransport *http.Transport HTTPClient *requests.HTTPClient NetworkDefinition metadata.NetworkDefinition MysteriumAPI *mysterium.MysteriumAPI PricingHelper *pingpong.Pricer EtherClientL1 *paymentClient.EthMultiClient EtherClientL2 *paymentClient.EthMultiClient SorterClientL1 *psort.MultiClientSorter SorterClientL2 *psort.MultiClientSorter EtherClients []*paymentClient.ReconnectableEthClient BrokerConnector *nats.BrokerConnector BrokerConnection nats.Connection NATService nat.NATService NATProber natprobe.NATProber Storage *boltdb.Bolt Keystore *identity.Keystore IdentityManager identity.Manager SignerFactory identity.SignerFactory IdentityRegistry registry.IdentityRegistry IdentitySelector identity_selector.Handler IdentityMover *identity.Mover FreeRegistrar *registry.FreeRegistrar DiscoveryFactory service.DiscoveryFactory ProposalRepository *discovery.PricedServiceProposalRepository FilterPresetStorage *proposal.FilterPresetStorage DiscoveryWorker discovery.Worker QualityClient *quality.MysteriumMORQA IPResolver ip.Resolver LocationResolver *location.Cache PolicyOracle *localcopy.Oracle PolicyProvider policy.Provider SessionStorage *consumer_session.Storage SessionConnectivityStatusStorage connectivity.StatusStorage EventBus eventbus.EventBus MultiConnectionManager connection.MultiManager ConnectionRegistry *connection.Registry ServicesManager *service.Manager ServiceRegistry *service.Registry ServiceSessions *service.SessionPool ServiceFirewall firewall.IncomingTrafficFirewall WireguardClientFactory *endpoint.WgClientFactory PortPool *port.Pool PortMapper mapping.PortMapper StateKeeper *state.Keeper P2PDialer p2p.Dialer P2PListener p2p.Listener Authenticator *auth.Authenticator JWTAuthenticator *auth.JWTAuthenticator UIServer UIServer Transactor *registry.Transactor Affiliator *registry.Affiliator BCHelper *paymentClient.MultichainBlockchainClient SSOMystnodes *sso.Mystnodes LogCollector *logconfig.Collector Reporter *feedback.Reporter BeneficiarySaver *beneficiary.Saver BeneficiaryProvider *beneficiary.Provider ProviderInvoiceStorage *pingpong.ProviderInvoiceStorage ConsumerTotalsStorage *pingpong.ConsumerTotalsStorage HermesPromiseStorage *pingpong.HermesPromiseStorage ConsumerBalanceTracker *pingpong.ConsumerBalanceTracker HermesChannelRepository *pingpong.HermesChannelRepository HermesPromiseSettler pingpong.HermesPromiseSettler HermesURLGetter *pingpong.HermesURLGetter HermesCaller *pingpong.HermesCaller HermesPromiseHandler *pingpong.HermesPromiseHandler SettlementHistoryStorage *pingpong.SettlementHistoryStorage AddressProvider *paymentClient.MultiChainAddressProvider HermesStatusChecker *pingpong.HermesStatusChecker HermesMigrator *migration.HermesMigrator MMN *mmn.MMN PilvytisAPI *pilvytis.API PilvytisTracker *pilvytis.StatusTracker PilvytisOrderIssuer *pilvytis.OrderIssuer ObserverAPI *observer.API ResidentCountry *identity.ResidentCountry BeneficiaryAddressStorage beneficiary.BeneficiaryStorage NodeStatusTracker *monitoring.StatusTracker NodeStatsTracker *node.StatsTracker // contains filtered or unexported fields }
Dependencies is DI container for top level components which is reused in several places
func (*Dependencies) AllowURLAccess ¶
func (di *Dependencies) AllowURLAccess(servers ...string) error
AllowURLAccess allows the requested addresses to be served when the tunnel is active.
func (*Dependencies) Bootstrap ¶
func (di *Dependencies) Bootstrap(nodeOptions node.Options) error
Bootstrap initiates all container dependencies
func (*Dependencies) Shutdown ¶
func (di *Dependencies) Shutdown() (err error)
Shutdown stops container
type NATPinger ¶
type NATPinger interface {
Stop()
}
NATPinger allows to send nat pings as well as stop it
type Node ¶
type Node struct {
// contains filtered or unexported fields
}
Node represent entrypoint for Mysterium node with top level components
func NewNode ¶
func NewNode(connectionManager connection.MultiManager, tequilapiServer tequilapi.APIServer, publisher Publisher, uiServer UIServer, notifier SleepNotifier) *Node
NewNode function creates new Mysterium node by given options
type Publisher ¶
type Publisher interface {
Publish(topic string, data interface{})
}
Publisher is responsible for publishing given events
type SignalCallback ¶
type SignalCallback func()
SignalCallback is invoked when process receives signals defined below
type SleepNotifier ¶
type SleepNotifier interface { Start() Stop() }
SleepNotifier notifies node about pending sleep events