Documentation ¶
Overview ¶
Package embed provides a simplified way to run a webmesh node in-process.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func WithWebmeshTransport ¶ added in v0.5.1
func WithWebmeshTransport(topts TransportOptions) config.Option
WithWebmeshTransport returns a libp2p option that configures the transport to use an embedded webmesh node.
Types ¶
type Node ¶
type Node interface { transport.Dialer transport.NodeDialer transport.LeaderDialer // Start starts the node. Start(ctx context.Context) error // Stop stops the node. Stop(ctx context.Context) error // Errors returns a channel of errors that occur during the lifetime of the node. // At the moment, any error is fatal and will cause the node to stop. Errors() <-chan error // MeshNode returns the underlying meshnode instance. MeshNode() meshnode.Node // Storage is the underlying storage instance. Storage() storage.Provider // Services returns the underlying services instance if it is running. Services() *services.Server // MeshDNS returns the underlying MeshDNS instance if it is running. MeshDNS() *meshdns.Server // AddressV4 returns the IPv4 address of the node. AddressV4() netip.Prefix // AddressV6 returns the IPv6 address of the node. AddressV6() netip.Prefix }
Node is an embedded webmesh node.
type Options ¶ added in v0.6.0
type Options struct { // Config is the configuration for the node. Config *config.Config // Key is the key for the node. Key crypto.PrivateKey // Host is the libp2p host for the node. Host libp2p.Host // Logger is the logger for the node. Logger *slog.Logger }
Options are the options for creating a new embedded webmesh node.
Click to show internal directories.
Click to hide internal directories.