Documentation ¶
Overview ¶
Package rpc implmenets Python runtime
Index ¶
- func NewRpcControlMessageBroker(encoder EventEncoder, logger logger.Logger, ...) *rpcControlMessageBroker
- type AbstractRuntime
- func (r *AbstractRuntime) Continue() error
- func (r *AbstractRuntime) Drain() error
- func (r *AbstractRuntime) GetSocketType() SocketType
- func (r *AbstractRuntime) ProcessEvent(event nuclio.Event, functionLogger logger.Logger) (interface{}, error)
- func (r *AbstractRuntime) Restart() error
- func (r *AbstractRuntime) Start() error
- func (r *AbstractRuntime) Stop() error
- func (r *AbstractRuntime) SupportsControlCommunication() bool
- func (r *AbstractRuntime) SupportsRestart() bool
- func (r *AbstractRuntime) Terminate() error
- func (r *AbstractRuntime) WaitForStart() bool
- type EventEncoder
- type EventJSONEncoder
- type EventMsgPackEncoder
- type Runtime
- type SocketType
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewRpcControlMessageBroker ¶
func NewRpcControlMessageBroker(encoder EventEncoder, logger logger.Logger, abstractControlMessageBroker *controlcommunication.AbstractControlMessageBroker) *rpcControlMessageBroker
NewRpcControlMessageBroker creates a new RPC control message broker
Types ¶
type AbstractRuntime ¶
type AbstractRuntime struct { runtime.AbstractRuntime // contains filtered or unexported fields }
AbstractRuntime is a runtime that communicates via unix domain socket
func NewAbstractRuntime ¶
func NewAbstractRuntime(logger logger.Logger, configuration *runtime.Configuration, runtimeInstance Runtime) (*AbstractRuntime, error)
NewAbstractRuntime returns a new RPC runtime
func (*AbstractRuntime) Continue ¶
func (r *AbstractRuntime) Continue() error
Continue signals the runtime to continue event processing
func (*AbstractRuntime) Drain ¶
func (r *AbstractRuntime) Drain() error
Drain signals to the runtime to drain its accumulated events and waits for it to finish
func (*AbstractRuntime) GetSocketType ¶
func (r *AbstractRuntime) GetSocketType() SocketType
GetSocketType returns the type of socket the runtime works with (unix/tcp)
func (*AbstractRuntime) ProcessEvent ¶
func (r *AbstractRuntime) ProcessEvent(event nuclio.Event, functionLogger logger.Logger) (interface{}, error)
ProcessEvent processes an event
func (*AbstractRuntime) Restart ¶
func (r *AbstractRuntime) Restart() error
Restart restarts the runtime
func (*AbstractRuntime) Start ¶
func (r *AbstractRuntime) Start() error
func (*AbstractRuntime) SupportsControlCommunication ¶
func (r *AbstractRuntime) SupportsControlCommunication() bool
SupportsControlCommunication returns true if the runtime supports control communication
func (*AbstractRuntime) SupportsRestart ¶
func (r *AbstractRuntime) SupportsRestart() bool
SupportsRestart returns true if the runtime supports restart
func (*AbstractRuntime) Terminate ¶
func (r *AbstractRuntime) Terminate() error
Terminate signals to the runtime process that processor is about to stop working
func (*AbstractRuntime) WaitForStart ¶
func (r *AbstractRuntime) WaitForStart() bool
WaitForStart returns whether the runtime supports sending an indication that it started
type EventEncoder ¶
type EventEncoder interface {
Encode(event nuclio.Event) error
}
type EventJSONEncoder ¶
type EventJSONEncoder struct {
// contains filtered or unexported fields
}
EventJSONEncoder encodes nuclio events as JSON
func NewEventJSONEncoder ¶
func NewEventJSONEncoder(logger logger.Logger, writer io.Writer) *EventJSONEncoder
NewEventJSONEncoder returns a new JSONEncoder
func (*EventJSONEncoder) Encode ¶
func (e *EventJSONEncoder) Encode(event nuclio.Event) error
Encode writes the JSON encoding of event to the stream, followed by a newline character
type EventMsgPackEncoder ¶
type EventMsgPackEncoder struct {
// contains filtered or unexported fields
}
EventMsgPackEncoder encodes nuclio events as MsgPack
func NewEventMsgPackEncoder ¶
func NewEventMsgPackEncoder(logger logger.Logger, writer io.Writer) *EventMsgPackEncoder
NewEventMsgPackEncoder returns a new MsgPackEncoder
func (*EventMsgPackEncoder) Encode ¶
func (e *EventMsgPackEncoder) Encode(event nuclio.Event) error
Encode writes the JSON encoding of event to the stream, followed by a newline character
type Runtime ¶
type Runtime interface { // RunWrapper runs the wrapper RunWrapper(string, string) (*os.Process, error) // GetSocketType returns the type of socket the runtime works with (unix/tcp) GetSocketType() SocketType GetEventEncoder(writer io.Writer) EventEncoder // WaitForStart returns whether the runtime supports sending an indication that it started WaitForStart() bool // SupportsControlCommunication returns true if the runtime supports control communication SupportsControlCommunication() bool }
type SocketType ¶
type SocketType int
SocketType is type of socket to use
const ( UnixSocket SocketType = iota TCPSocket )
RPC socket types