remote

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Jun 14, 2020 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	//ErrDiscarded is returned when there is no slots
	//in process stream
	ErrDiscarded = errors.New("discarded")
)

Functions

func RegisterWorkerServer

func RegisterWorkerServer(s *grpc.Server, srv WorkerServer)

Types

type Client

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

Client connect to a remote grpc endpoint

func NewClient

func NewClient(opts ClientOptions) *Client

NewClient create a new Client with given options

func (*Client) Process

func (c *Client) Process(ctx context.Context, args selina.ProcessArgs) error

Process implements selina.Worker interface

type ClientOptions

type ClientOptions struct {
	Address string
}

ClientOptions customize client

type Error

type Error struct {
	Message              string   `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Error) Descriptor

func (*Error) Descriptor() ([]byte, []int)

func (*Error) GetMessage

func (m *Error) GetMessage() string

func (*Error) ProtoMessage

func (*Error) ProtoMessage()

func (*Error) Reset

func (m *Error) Reset()

func (*Error) String

func (m *Error) String() string

func (*Error) XXX_DiscardUnknown

func (m *Error) XXX_DiscardUnknown()

func (*Error) XXX_Marshal

func (m *Error) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Error) XXX_Merge

func (m *Error) XXX_Merge(src proto.Message)

func (*Error) XXX_Size

func (m *Error) XXX_Size() int

func (*Error) XXX_Unmarshal

func (m *Error) XXX_Unmarshal(b []byte) error

type Message

type Message struct {
	Data                 []byte   `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Message) Descriptor

func (*Message) Descriptor() ([]byte, []int)

func (*Message) GetData

func (m *Message) GetData() []byte

func (*Message) ProtoMessage

func (*Message) ProtoMessage()

func (*Message) Reset

func (m *Message) Reset()

func (*Message) String

func (m *Message) String() string

func (*Message) XXX_DiscardUnknown

func (m *Message) XXX_DiscardUnknown()

func (*Message) XXX_Marshal

func (m *Message) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Message) XXX_Merge

func (m *Message) XXX_Merge(src proto.Message)

func (*Message) XXX_Size

func (m *Message) XXX_Size() int

func (*Message) XXX_Unmarshal

func (m *Message) XXX_Unmarshal(b []byte) error

type Server

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

Server receive data from a remote endpoint

func NewServer

func NewServer(opts ServerOptions) *Server

NewServer create a new grpc server with given options

func (*Server) Process

func (s *Server) Process(ctx context.Context, args selina.ProcessArgs) (errp error)

Process implements selina.Worker interface

func (*Server) Pull

func (s *Server) Pull() []byte

Pull return the first message available in queue

func (*Server) Push

func (s *Server) Push(msg []byte) error

Push put a []byte into process stream, return ErrDiscarded if msg is not send immediately

func (*Server) Send

func (s *Server) Send(ctx context.Context, msg *Message) (*Error, error)

Send implements grpc service

type ServerOptions

type ServerOptions struct {
	Network    string
	Address    string
	BufferSize int
}

ServerOptions customize Server Worker

type UnimplementedWorkerServer

type UnimplementedWorkerServer struct {
}

UnimplementedWorkerServer can be embedded to have forward compatible implementations.

func (*UnimplementedWorkerServer) Send

type WorkerClient

type WorkerClient interface {
	Send(ctx context.Context, in *Message, opts ...grpc.CallOption) (*Error, error)
}

WorkerClient is the client API for Worker service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewWorkerClient

func NewWorkerClient(cc *grpc.ClientConn) WorkerClient

type WorkerServer

type WorkerServer interface {
	Send(context.Context, *Message) (*Error, error)
}

WorkerServer is the server API for Worker service.

Jump to

Keyboard shortcuts

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