Documentation
¶
Overview ¶
Package core implements the Dms3Node object and related methods.
Packages underneath core/ provide a (relatively) stable, low-level API to carry out most DMS3-related tasks. For more details on the other interfaces and how core/... fits into the bigger DMS3 picture, see:
$ godoc gitlab.dms3.io/dms3/go-dms3
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConstructPeerHostOpts ¶
type ConstructPeerHostOpts struct {
AddrsFactory p2pbhost.AddrsFactory
DisableNatPortMap bool
DisableRelay bool
EnableRelayHop bool
ConnectionManager connmgr.ConnManager
}
type Dms3Node ¶
type Dms3Node struct {
// Self
Identity peer.ID // the local node's identity
Repo repo.Repo
// Local node
Pinning pin.Pinner // the pinning manager
Mounts Mounts `optional:"true"` // current mount state, if any.
PrivateKey ic.PrivKey `optional:"true"` // the local node's private Key
PNetFingerprint dms3p2p.PNetFingerprint `optional:"true"` // fingerprint of private network
// Services
Peerstore pstore.Peerstore `optional:"true"` // storage for other Peer instances
Blockstore bstore.GCBlockstore // the block store (lower level)
Filestore *filestore.Filestore `optional:"true"` // the filestore blockstore
BaseBlocks node.BaseBlocks // the raw blockstore, no filestore wrapping
GCLocker bstore.GCLocker // the locker used to protect the blockstore during gc
Blocks bserv.BlockService // the block service, get/add blocks.
DAG ld.DAGService // the merkle dag service, get/add objects.
Resolver *resolver.Resolver // the path resolution system
Reporter *metrics.BandwidthCounter `optional:"true"`
Discovery discovery.Service `optional:"true"`
FilesRoot *mfs.Root
RecordValidator record.Validator
// Online
PeerHost p2phost.Host `optional:"true"` // the network host (server+client)
Peering peering.PeeringService `optional:"true"`
Filters *ma.Filters `optional:"true"`
Bootstrapper io.Closer `optional:"true"` // the periodic bootstrapper
Routing routing.Routing `optional:"true"` // the routing system. recommend dms3-dht
Exchange exchange.Interface // the block exchange + strategy (bitswap)
Namesys namesys.NameSystem // the name system, resolves paths to hashes
Provider provider.System // the value provider system
Dms3NsRepub *dms3nsrp.Republisher `optional:"true"`
GraphExchange graphsync.GraphExchange `optional:"true"`
PubSub *pubsub.PubSub `optional:"true"`
PSRouter *psrouter.PubsubValueStore `optional:"true"`
DHT *ddht.DHT `optional:"true"`
P2P *p2p.P2P `optional:"true"`
Process goprocess.Process
// Flags
IsOnline bool `optional:"true"` // Online is set when networking is enabled.
IsDaemon bool `optional:"true"` // Daemon is set when running on a long-running daemon.
// contains filtered or unexported fields
}
Dms3Node is DMS3 Core module. It represents an DMS3 instance.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package commands implements the dms3 command interface Using gitlab.dms3.io/dms3/go-dms3/commands to define the command line and HTTP APIs.
|
Package commands implements the dms3 command interface Using gitlab.dms3.io/dms3/go-dms3/commands to define the command line and HTTP APIs. |
|
Package coreapi provides direct access to the core commands in DMS3.
|
Package coreapi provides direct access to the core commands in DMS3. |
|
Package corehttp provides utilities for the webui, gateways, and other high-level HTTP interfaces to DMS3.
|
Package corehttp provides utilities for the webui, gateways, and other high-level HTTP interfaces to DMS3. |
|
The coreindex package supports searchable index metadata and data management functions.
|
The coreindex package supports searchable index metadata and data management functions. |
Click to show internal directories.
Click to hide internal directories.