client

package
v0.0.0-...-2c19b2c Latest Latest
Warning

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

Go to latest
Published: Aug 18, 2015 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Call

func Call(ctx context.Context, request Request, response interface{}) error

func CallRemote

func CallRemote(ctx context.Context, address string, request Request, response interface{}) error

func Publish

func Publish(ctx context.Context, p Publication) error

Types

type Client

type Client interface {
	NewPublication(topic string, msg interface{}) Publication
	NewRequest(service, method string, req interface{}) Request
	NewProtoRequest(service, method string, req interface{}) Request
	NewJsonRequest(service, method string, req interface{}) Request
	Call(ctx context.Context, req Request, rsp interface{}) error
	CallRemote(ctx context.Context, addr string, req Request, rsp interface{}) error
	Stream(ctx context.Context, req Request, rspChan interface{}) (Streamer, error)
	StreamRemote(ctx context.Context, addr string, req Request, rspChan interface{}) (Streamer, error)
	Publish(ctx context.Context, p Publication) error
}
var (
	DefaultClient Client = newRpcClient()
)

func NewClient

func NewClient(opt ...Option) Client

type Option

type Option func(*options)

func Broker

func Broker(b broker.Broker) Option

func Registry

func Registry(r registry.Registry) Option

func Transport

func Transport(t transport.Transport) Option

type Publication

type Publication interface {
	Topic() string
	Message() interface{}
	ContentType() string
}

func NewPublication

func NewPublication(topic string, message interface{}) Publication

type Request

type Request interface {
	Service() string
	Method() string
	ContentType() string
	Request() interface{}
}

func NewJsonRequest

func NewJsonRequest(service, method string, request interface{}) Request

func NewProtoRequest

func NewProtoRequest(service, method string, request interface{}) Request

func NewRequest

func NewRequest(service, method string, request interface{}) Request

type Streamer

type Streamer interface {
	Request() Request
	Error() error
	Close() error
}

func Stream

func Stream(ctx context.Context, request Request, responseChan interface{}) (Streamer, error)

func StreamRemote

func StreamRemote(ctx context.Context, address string, request Request, responseChan interface{}) (Streamer, error)

Jump to

Keyboard shortcuts

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