topology

package
v0.5.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 21, 2025 License: LGPL-3.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AESEncryption

type AESEncryption struct {
	// contains filtered or unexported fields
}

func NewAESEncryption

func NewAESEncryption(key []byte) (*AESEncryption, error)

func (*AESEncryption) Decrypt

func (ae *AESEncryption) Decrypt(ct []byte) []byte

func (*AESEncryption) Encrypt

func (ae *AESEncryption) Encrypt(data []byte) ([]byte, error)

Encrypt is a function that encrypts provided bytes with AES in CTR mode Returned value is iv + ct

type Decrypter

type Decrypter interface {
	Decrypt(data []byte) []byte
}

type Fetcher

type Fetcher interface {
	Get(url string) (*http.Response, error)
}

type NetworkTopology

type NetworkTopology struct {
	Peers     []*peer.AddrInfo
	Threshold int
}

func ProcessRawTopology

func ProcessRawTopology(rawTopology *RawTopology) (*NetworkTopology, error)

func (NetworkTopology) IsAllowedPeer

func (nt NetworkTopology) IsAllowedPeer(peer peer.ID) bool

type NetworkTopologyProvider

type NetworkTopologyProvider interface {
	// NetworkTopology fetches latest topology from network and validates that
	// the version matches expected hash.
	NetworkTopology(hash string) (*NetworkTopology, error)
}

func NewNetworkTopologyProvider

func NewNetworkTopologyProvider(config relayer.TopologyConfiguration, fetcher Fetcher) (NetworkTopologyProvider, error)

type RawPeer

type RawPeer struct {
	PeerAddress string `mapstructure:"PeerAddress" json:"peerAddress"`
}

type RawTopology

type RawTopology struct {
	Peers     []RawPeer `mapstructure:"Peers" json:"peers"`
	Threshold string    `mapstructure:"Threshold" json:"threshold"`
}

type TopologyProvider

type TopologyProvider struct {
	// contains filtered or unexported fields
}

func (*TopologyProvider) NetworkTopology

func (t *TopologyProvider) NetworkTopology(hash string) (*NetworkTopology, error)

type TopologyStore

type TopologyStore struct {
	// contains filtered or unexported fields
}

func NewTopologyStore

func NewTopologyStore(filePath string) *TopologyStore

func (*TopologyStore) StoreTopology

func (ts *TopologyStore) StoreTopology(topology *NetworkTopology) error

StoreTopology stores topology into a file

func (*TopologyStore) Topology

func (ts *TopologyStore) Topology() (*NetworkTopology, error)

Topology fetches current topology from file

Directories

Path Synopsis
Package mock_topology is a generated GoMock package.
Package mock_topology is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL