d6cf76a91a
Add a log command to the common api which allows for listing all initialized golog subsystems, and setting their log level during runtime. Command description also adds golog environment variable documentation.
56 lines
1.3 KiB
Go
56 lines
1.3 KiB
Go
package api
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
|
|
"github.com/filecoin-project/lotus/build"
|
|
"github.com/libp2p/go-libp2p-core/network"
|
|
"github.com/libp2p/go-libp2p-core/peer"
|
|
)
|
|
|
|
type Permission = string
|
|
|
|
type Common interface {
|
|
// Auth
|
|
AuthVerify(ctx context.Context, token string) ([]Permission, error)
|
|
AuthNew(ctx context.Context, perms []Permission) ([]byte, error)
|
|
|
|
// network
|
|
|
|
NetConnectedness(context.Context, peer.ID) (network.Connectedness, error)
|
|
NetPeers(context.Context) ([]peer.AddrInfo, error)
|
|
NetConnect(context.Context, peer.AddrInfo) error
|
|
NetAddrsListen(context.Context) (peer.AddrInfo, error)
|
|
NetDisconnect(context.Context, peer.ID) error
|
|
|
|
// ID returns peerID of libp2p node backing this API
|
|
ID(context.Context) (peer.ID, error)
|
|
|
|
// Version provides information about API provider
|
|
Version(context.Context) (Version, error)
|
|
|
|
LogList(context.Context) ([]string, error)
|
|
LogSetLevel(context.Context, string, string) error
|
|
}
|
|
|
|
// Version provides various build-time information
|
|
type Version struct {
|
|
Version string
|
|
|
|
// APIVersion is a binary encoded semver version of the remote implementing
|
|
// this api
|
|
//
|
|
// See APIVersion in build/version.go
|
|
APIVersion build.Version
|
|
|
|
// TODO: git commit / os / genesis cid?
|
|
|
|
// Seconds
|
|
BlockDelay uint64
|
|
}
|
|
|
|
func (v Version) String() string {
|
|
return fmt.Sprintf("%s+api%s", v.Version, v.APIVersion.String())
|
|
}
|