cmd

package
v2.0.1+incompatible Latest Latest
Warning

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

Go to latest
Published: Aug 19, 2019 License: MIT Imports: 31 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ClaimChannelIdFlag = "channel-id"
	ClaimPaymentIdFlag = "payment-id"
	ClaimSendBackFlag  = "send-back"
	ClaimTimeoutFlag   = "timeout"

	UnlockChannelFlag = "unlock"
)

Variables

View Source
var ChannelCmd = &cobra.Command{
	Use:   "channel",
	Short: "Manage operations on payment channels",
	Long: "allows us to perform operations on channels with given channel ID." +
		" User can use 'snetd channel --unlock {channelID}' command to unlock the channel manually.",
	RunE: func(cmd *cobra.Command, args []string) error {
		return RunAndCleanup(cmd, args, newChannelCommand)
	},
}

ListChannelsCmd shows list of channels from shared storage

View Source
var InitCmd = &cobra.Command{
	Use:   "init",
	Short: "Write default configuration to file",
	Long:  "Use this command to create default configuration file. Then update the file with your settings.",
	Run: func(cmd *cobra.Command, args []string) {
		var err error
		var configFile = cmd.Flags().Lookup("config").Value.String()

		log.WithField("configFile", configFile).Info("Writing default configuration to the file")

		if isFileExist(configFile) {
			log.WithField("configFile", configFile).Fatal("configFile already exists, please remove file first")
		}

		err = config.WriteConfig(configFile)
		if err != nil {
			log.WithError(err).WithField("configFile", configFile).Fatal("Cannot write default configuration")
		}
	},
}
View Source
var ListChannelsCmd = &cobra.Command{
	Use:   "channels",
	Short: "List payment channels",
	Long: "List payment channels for which at least on payment was received." +
		" User can use 'snetd claim --channel-id' command to claim funds from channel.",
	RunE: func(cmd *cobra.Command, args []string) error {
		return RunAndCleanup(cmd, args, newListChannelsCommand)
	},
}

ListChannelsCmd shows list of channels from shared storage

View Source
var ListClaimsCmd = &cobra.Command{
	Use:   "claims",
	Short: "List payments which are not written to blockchain yet",
	Long: "List payments which are in progress state and not written" +
		" to the blockchain.",
	RunE: func(cmd *cobra.Command, args []string) error {
		return RunAndCleanup(cmd, args, newListClaimsCommand)
	},
}

ListClaimsCmd shows list of channels from shared storage

View Source
var ListCmd = &cobra.Command{
	Use:   "list",
	Short: "List channels, claims in progress, etc",
	Long:  "List command prints lists of objects from the shared storage; each object type has separate subcommand",
}

ListCmd command to list channels, claims, etc

View Source
var RootCmd = &cobra.Command{
	Use: "snetd",
	Run: func(cmd *cobra.Command, args []string) {
		if command, _, err := cmd.Find(args); err != nil && command != nil {
			command.Execute()
		} else {
			ServeCmd.Run(cmd, args)
		}
	},
}
View Source
var ServeCmd = &cobra.Command{
	Use:   "serve",
	Short: "Is the default option which starts the Daemon.",
	Run: func(cmd *cobra.Command, args []string) {
		var err error

		components := InitComponents(cmd)
		defer components.Close()

		etcdServer := components.EtcdServer()
		if etcdServer == nil {
			log.Info("Etcd server is disabled in the config file.")
		}

		err = logger.InitLogger(config.SubWithDefault(config.Vip(), config.LogKey))
		if err != nil {
			log.WithError(err).Fatal("Unable to initialize logger")
		}
		config.LogConfig()

		var d daemon
		d, err = newDaemon(components)
		if err != nil {
			log.WithError(err).Fatal("Unable to initialize daemon")
		}

		d.start()
		defer d.stop()

		sigChan := make(chan os.Signal, 1)
		signal.Notify(sigChan, syscall.SIGTERM, syscall.SIGINT)
		<-sigChan

		log.Debug("exiting")
	},
}
View Source
var VersionCmd = &cobra.Command{
	Use:   "version",
	Short: "List the current version of the Daemon.",
	Long:  "To check the current version of the Daemon, the sha1 revision and the time the Binary was built User can use `snetd version`",
	RunE: func(cmd *cobra.Command, args []string) error {
		return RunAndCleanup(cmd, args, newListVersionCommand)
	},
}

Shows the current version of the Daemons Version tag: v0.1.4-181-g2fd9f04 was build on: 2019-03-19_13:52:58 with sha1 revision from github: 2fd9f04bfb279aaf66291cd6bd2ca734fd4f70b5

Functions

func RunAndCleanup added in v0.1.2

func RunAndCleanup(cmd *cobra.Command, args []string, constructor CommandConstructor) (err error)

RunAndCleanup initializes components, constructs command, runs it, cleanups components and returns results

Types

type Command added in v0.1.2

type Command interface {
	Run() error
}

Command is an CLI command abstraction

type CommandConstructor added in v0.1.2

type CommandConstructor func(cmd *cobra.Command, args []string, components *Components) (command Command, err error)

CommandConstructor creates new command using command line arguments, cobra context and initialized components

type Components added in v0.1.2

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

func InitComponents added in v0.1.2

func InitComponents(cmd *cobra.Command) (components *Components)

func (*Components) AtomicStorage added in v0.1.2

func (components *Components) AtomicStorage() escrow.AtomicStorage

func (*Components) Blockchain added in v0.1.2

func (components *Components) Blockchain() *blockchain.Processor

func (*Components) ChannelBroadcast added in v1.1.0

func (components *Components) ChannelBroadcast() *configuration_service.MessageBroadcaster

func (*Components) Close added in v0.1.2

func (components *Components) Close()

func (*Components) ConfigurationService added in v1.1.0

func (components *Components) ConfigurationService() *configuration_service.ConfigurationService

func (*Components) DaemonHeartBeat added in v0.1.8

func (components *Components) DaemonHeartBeat() (service *metrics.DaemonHeartbeat)

func (*Components) EscrowPaymentHandler added in v0.1.2

func (components *Components) EscrowPaymentHandler() handler.PaymentHandler

func (*Components) EtcdClient added in v0.1.2

func (components *Components) EtcdClient() *etcddb.EtcdClient

func (*Components) EtcdServer added in v0.1.2

func (components *Components) EtcdServer() *etcddb.EtcdServer

func (*Components) FreeCallPaymentHandler added in v1.1.1

func (components *Components) FreeCallPaymentHandler() handler.PaymentHandler

func (*Components) GrpcInterceptor added in v0.1.2

func (components *Components) GrpcInterceptor() grpc.StreamServerInterceptor

Add a chain of interceptors

func (*Components) GrpcPaymentValidationInterceptor added in v0.1.4

func (components *Components) GrpcPaymentValidationInterceptor() grpc.StreamServerInterceptor

func (*Components) LockerStorage added in v0.1.5

func (components *Components) LockerStorage() *escrow.PrefixedAtomicStorage

func (*Components) OrganizationMetaData added in v1.1.0

func (components *Components) OrganizationMetaData() *blockchain.OrganizationMetaData

func (*Components) PaymentChannelService added in v0.1.2

func (components *Components) PaymentChannelService() escrow.PaymentChannelService

func (*Components) PaymentChannelStateService added in v0.1.2

func (components *Components) PaymentChannelStateService() (service escrow.PaymentChannelStateServiceServer)

func (*Components) PaymentStorage added in v1.0.0

func (components *Components) PaymentStorage() *escrow.PaymentStorage

func (*Components) PricingStrategy added in v1.1.0

func (components *Components) PricingStrategy() *pricing.PricingStrategy

func (*Components) ProviderControlService added in v0.1.5

func (components *Components) ProviderControlService() (service escrow.ProviderControlServiceServer)

func (*Components) ServiceMetaData added in v0.1.3

func (components *Components) ServiceMetaData() *blockchain.ServiceMetadata

type ListVersionCommand added in v0.1.9

type ListVersionCommand struct {
}

func (*ListVersionCommand) Run added in v0.1.9

func (command *ListVersionCommand) Run() (err error)

Jump to

Keyboard shortcuts

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