skynetportals

package
v1.4.8-antfarm Latest Latest
Warning

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

Go to latest
Published: Sep 24, 2020 License: MIT Imports: 12 Imported by: 2

README

Skynet Portals

The Skynet Portals module manages a list of known Skynet portals and whether they are public or not.

Subsystems

The following subsystems help the Skynet Portals module execute its responsibilities:

Persistence Subsystem

Key Files

The Persistence subsystem is responsible for the disk interaction and ensuring safe and performant ACID operations. An append only structure is used with a length of fsync'd bytes encoded in the metadata.

Inbound Complexities

  • callInitPersist initializes the persistence file
    • The Skynet Portals Subsystem's New method uses callInitPersist
  • callUpdateAndAppend updates the skynet portal list and appends the information to the persistence file
    • The Skynet Portals Subsytem's Update method uses callUpdateAndAppend
Skynet Portals Subsystem

Key Files

The Skynet Portals subsystem contains the structure of the Skynet Portals List and is used to create a new Skynet Portals List and return information about the Portals.

Exports

  • Portals returns the list of known Skynet portals and whether they are public
  • New creates and returns a new Skynet Portals List
  • Update updates the Portals List

Outbound Complexities

  • New calls the Persistence Subsystem's callInitPersist method
  • Update calls the Persistence Subsystem's callUpdateAndAppend method

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrSkynetPortalsValidation is the error returned when validation of
	// changes to the Skynet portals list fails.
	ErrSkynetPortalsValidation = errors.New("could not validate additions and removals")
)

Functions

This section is empty.

Types

type SkynetPortals

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

SkynetPortals manages a list of known Skynet portals by persisting the list to disk.

func New

func New(persistDir string) (*SkynetPortals, error)

New creates a new SkynetPortals.

func (*SkynetPortals) FilePath

func (sp *SkynetPortals) FilePath() string

FilePath returns the filepath of the persist file.

func (*SkynetPortals) Portals

func (sp *SkynetPortals) Portals() []modules.SkynetPortal

Portals returns the list of known Skynet portals.

func (*SkynetPortals) UpdateSkynetPortals

func (sp *SkynetPortals) UpdateSkynetPortals(additions []modules.SkynetPortal, removals []modules.NetAddress) error

UpdateSkynetPortals updates the list of known Skynet portals.

Jump to

Keyboard shortcuts

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