channels

package
v0.2.7 Latest Latest
Warning

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

Go to latest
Published: May 23, 2022 License: AGPL-3.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Channels = eps.ChannelDefinitions{
	"stdout": eps.ChannelDefinition{
		Name:              "Stdout Channel",
		Description:       "Prints messages to stdout (just for testing and debugging)",
		Maker:             MakeStdoutChannel,
		SettingsValidator: StdoutSettingsValidator,
	},
	"jsonrpc_client": eps.ChannelDefinition{
		Name:              "JSONRPC Client Channel",
		Description:       "Creates outgoing JSONRPC connections to deliver and receive messages",
		Maker:             MakeJSONRPCClientChannel,
		SettingsValidator: JSONRPCClientSettingsValidator,
	},
	"grpc_client": eps.ChannelDefinition{
		Name:              "gRPC Client Channel",
		Description:       "Creates outgoing gRPC connections to deliver and receive messages",
		Maker:             MakeGRPCClientChannel,
		SettingsValidator: GRPCClientSettingsValidator,
	},
	"jsonrpc_server": eps.ChannelDefinition{
		Name:              "JSONRPC Server Channel",
		Description:       "Accepts incoming JSONRPC connections to deliver and receive messages",
		Maker:             MakeJSONRPCServerChannel,
		SettingsValidator: JSONRPCServerSettingsValidator,
	},
	"grpc_server": eps.ChannelDefinition{
		Name:              "gRPC Server Channel",
		Description:       "Accepts incoming gRPC connections to deliver and receive messages",
		Maker:             MakeGRPCServerChannel,
		SettingsValidator: GRPCServerSettingsValidator,
	},
}
View Source
var GRPCServerEntrySettingsForm = forms.Form{
	Fields: []forms.Field{
		{
			Name: "address",
			Validators: []forms.Validator{
				forms.IsString{},
			},
		},
		{
			Name: "internal",
			Validators: []forms.Validator{
				forms.IsOptional{Default: false},
				forms.IsBoolean{},
			},
		},
		{
			Name: "proxy",
			Validators: []forms.Validator{
				forms.IsOptional{Default: ""},
				forms.IsString{},
			},
		},
	},
}
View Source
var RequestConnectionResponseForm = forms.Form{
	Fields: []forms.Field{
		{
			Name: "token",
			Validators: []forms.Validator{
				forms.IsBytes{Encoding: "base64"},
			},
		},
		{
			Name: "endpoint",
			Validators: []forms.Validator{
				forms.IsString{},
			},
		},
	},
}
View Source
var StdoutSettingsForm = forms.Form{
	Fields: []forms.Field{},
}

Functions

func GRPCClientSettingsValidator

func GRPCClientSettingsValidator(settings map[string]interface{}) (interface{}, error)

func GRPCServerSettingsValidator

func GRPCServerSettingsValidator(settings map[string]interface{}) (interface{}, error)

func JSONRPCClientSettingsValidator

func JSONRPCClientSettingsValidator(settings map[string]interface{}) (interface{}, error)

func JSONRPCServerSettingsValidator

func JSONRPCServerSettingsValidator(settings map[string]interface{}) (interface{}, error)

func MakeGRPCClientChannel

func MakeGRPCClientChannel(settings interface{}) (eps.Channel, error)

func MakeGRPCServerChannel

func MakeGRPCServerChannel(settings interface{}) (eps.Channel, error)

func MakeJSONRPCClientChannel

func MakeJSONRPCClientChannel(settings interface{}) (eps.Channel, error)

func MakeJSONRPCServerChannel

func MakeJSONRPCServerChannel(settings interface{}) (eps.Channel, error)

func MakeStdoutChannel

func MakeStdoutChannel(settings interface{}) (eps.Channel, error)

func StdoutSettingsValidator

func StdoutSettingsValidator(settings map[string]interface{}) (interface{}, error)

Types

type GRPCClientChannel

type GRPCClientChannel struct {
	eps.BaseChannel
	Settings grpc.GRPCClientSettings
	// contains filtered or unexported fields
}

func (*GRPCClientChannel) CanDeliverTo

func (c *GRPCClientChannel) CanDeliverTo(address *eps.Address) bool

func (*GRPCClientChannel) Close

func (c *GRPCClientChannel) Close() error

func (*GRPCClientChannel) DeliverRequest

func (c *GRPCClientChannel) DeliverRequest(request *eps.Request) (*eps.Response, error)

func (*GRPCClientChannel) HandleRequest

func (c *GRPCClientChannel) HandleRequest(request *eps.Request, clientInfo *eps.ClientInfo) (*eps.Response, error)

func (*GRPCClientChannel) Open

func (c *GRPCClientChannel) Open() error

func (*GRPCClientChannel) Type added in v0.2.2

func (c *GRPCClientChannel) Type() string

type GRPCServerChannel

type GRPCServerChannel struct {
	eps.BaseChannel

	Settings grpc.GRPCServerSettings
	// contains filtered or unexported fields
}

func (*GRPCServerChannel) CanDeliverTo

func (c *GRPCServerChannel) CanDeliverTo(address *eps.Address) bool

func (*GRPCServerChannel) Close

func (c *GRPCServerChannel) Close() error

func (*GRPCServerChannel) DeliverRequest

func (c *GRPCServerChannel) DeliverRequest(request *eps.Request) (*eps.Response, error)

func (*GRPCServerChannel) HandleConnectionRequest added in v0.2.3

func (c *GRPCServerChannel) HandleConnectionRequest(address *eps.Address, request *eps.Request) (*eps.Response, error)

func (*GRPCServerChannel) HandleRequest

func (c *GRPCServerChannel) HandleRequest(request *eps.Request, clientInfo *eps.ClientInfo) (*eps.Response, error)

func (*GRPCServerChannel) Open

func (c *GRPCServerChannel) Open() error

func (*GRPCServerChannel) Type added in v0.2.2

func (c *GRPCServerChannel) Type() string

type GRPCServerConnection

type GRPCServerConnection struct {
	Name    string
	Address string
	Stale   bool
	// contains filtered or unexported fields
}

func (*GRPCServerConnection) Close

func (c *GRPCServerConnection) Close() error

func (*GRPCServerConnection) Open

func (c *GRPCServerConnection) Open() error

type GRPCServerEntrySettings added in v0.1.34

type GRPCServerEntrySettings struct {
	Address  string `json:"address"`
	Internal bool   `json:"internal"`
	Proxy    string `json:"proxy"`
}

type JSONRPCClientChannel

type JSONRPCClientChannel struct {
	eps.BaseChannel
	Settings *jsonrpc.JSONRPCClientSettings
}

func (*JSONRPCClientChannel) CanDeliverTo

func (c *JSONRPCClientChannel) CanDeliverTo(address *eps.Address) bool

func (*JSONRPCClientChannel) Close

func (c *JSONRPCClientChannel) Close() error

func (*JSONRPCClientChannel) DeliverRequest

func (c *JSONRPCClientChannel) DeliverRequest(request *eps.Request) (*eps.Response, error)

func (*JSONRPCClientChannel) Open

func (c *JSONRPCClientChannel) Open() error

func (*JSONRPCClientChannel) Type added in v0.2.2

func (c *JSONRPCClientChannel) Type() string

type JSONRPCServerChannel

type JSONRPCServerChannel struct {
	eps.BaseChannel
	Settings *jsonrpc.JSONRPCServerSettings
	Server   *jsonrpc.JSONRPCServer
}

func (*JSONRPCServerChannel) CanDeliverTo

func (c *JSONRPCServerChannel) CanDeliverTo(address *eps.Address) bool

func (*JSONRPCServerChannel) Close

func (c *JSONRPCServerChannel) Close() error

func (*JSONRPCServerChannel) DeliverRequest

func (c *JSONRPCServerChannel) DeliverRequest(request *eps.Request) (*eps.Response, error)

func (*JSONRPCServerChannel) Open

func (c *JSONRPCServerChannel) Open() error

func (*JSONRPCServerChannel) Type added in v0.2.2

func (c *JSONRPCServerChannel) Type() string

type ProxyListener added in v0.2.2

type ProxyListener struct {
	net.Listener
	// contains filtered or unexported fields
}

func MakeProxyListener added in v0.2.2

func MakeProxyListener(listener net.Listener) *ProxyListener

func (*ProxyListener) Accept added in v0.2.2

func (l *ProxyListener) Accept() (net.Conn, error)

Accept a connection, ensuring that rate limits are enforced

func (*ProxyListener) Inject added in v0.2.3

func (l *ProxyListener) Inject(value interface{}) error

func (*ProxyListener) Start added in v0.2.3

func (l *ProxyListener) Start()

type RequestConnectionResponse added in v0.2.3

type RequestConnectionResponse struct {
	Token    []byte `json:"token"`
	Endpoint string `json:"endpoint"`
}

type StdoutChannel

type StdoutChannel struct {
	eps.BaseChannel
	Settings StdoutSettings
}

func (*StdoutChannel) CanDeliverTo

func (c *StdoutChannel) CanDeliverTo(address *eps.Address) bool

func (*StdoutChannel) Close

func (c *StdoutChannel) Close() error

func (*StdoutChannel) DeliverRequest

func (c *StdoutChannel) DeliverRequest(request *eps.Request) (*eps.Response, error)

func (*StdoutChannel) Open

func (c *StdoutChannel) Open() error

func (*StdoutChannel) Type added in v0.2.2

func (c *StdoutChannel) Type() string

type StdoutSettings

type StdoutSettings struct {
}

Jump to

Keyboard shortcuts

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