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