Package micro
Overview ▹
Index ▹
Variables
var (
HeaderPrefix = "X-Micro-"
)
func NewContext ¶
func NewContext(ctx context.Context, s Service) context.Context
NewContext returns a new Context with the Service embedded within it.
func RegisterHandler ¶
func RegisterHandler(s server.Server, h interface{}, opts ...server.HandlerOption) error
RegisterHandler is syntactic sugar for registering a handler
func RegisterSubscriber ¶
func RegisterSubscriber(topic string, s server.Server, h interface{}, opts ...server.SubscriberOption) error
RegisterSubscriber is syntactic sugar for registering a subscriber
type Function ¶
Function is a one time executing Service
type Function interface {
// Inherits Service interface
Service
// Done signals to complete execution
Done() error
// Handle registers an RPC handler
Handle(v interface{}) error
// Subscribe registers a subscriber
Subscribe(topic string, v interface{}) error
}
func NewFunction ¶
func NewFunction(opts ...Option) Function
NewFunction returns a new Function for a one time executing Service
type Option ¶
type Option func(*Options)
func Action ¶
func Action(a func(*cli.Context)) Option
func AfterStart ¶
func AfterStart(fn func() error) Option
func AfterStop ¶
func AfterStop(fn func() error) Option
func BeforeStart ¶
func BeforeStart(fn func() error) Option
func BeforeStop ¶
func BeforeStop(fn func() error) Option
func Broker ¶
func Broker(b broker.Broker) Option
func Client ¶
func Client(c client.Client) Option
func Cmd ¶
func Cmd(c cmd.Cmd) Option
func Context ¶
func Context(ctx context.Context) Option
Context specifies a context for the service. Can be used to signal shutdown of the service. Can be used for extra option values.
func Flags ¶
func Flags(flags ...cli.Flag) Option
func Metadata ¶
func Metadata(md map[string]string) Option
Metadata associated with the service
func Name ¶
func Name(n string) Option
Name of the service
func RegisterInterval ¶
func RegisterInterval(t time.Duration) Option
RegisterInterval specifies the interval on which to re-register
func RegisterTTL ¶
func RegisterTTL(t time.Duration) Option
RegisterTTL specifies the TTL to use when registering the service
func Registry ¶
func Registry(r registry.Registry) Option
Registry sets the registry for the service and the underlying components
func Server ¶
func Server(s server.Server) Option
func Transport ¶
func Transport(t transport.Transport) Option
Transport sets the transport for the service and the underlying components
func Version ¶
func Version(v string) Option
Version of the service
func WrapCall ¶
func WrapCall(w ...client.CallWrapper) Option
WrapCall is a convenience method for wrapping a Client CallFunc
func WrapClient ¶
func WrapClient(w ...client.Wrapper) Option
WrapClient is a convenience method for wrapping a Client with some middleware component. A list of wrappers can be provided.
func WrapHandler ¶
func WrapHandler(w ...server.HandlerWrapper) Option
WrapHandler adds a handler Wrapper to a list of options passed into the server
func WrapSubscriber ¶
func WrapSubscriber(w ...server.SubscriberWrapper) Option
WrapSubscriber adds a subscriber Wrapper to a list of options passed into the server
type Options ¶
type Options struct {
Broker broker.Broker
Cmd cmd.Cmd
Client client.Client
Server server.Server
Registry registry.Registry
Transport transport.Transport
// Register loop interval
RegisterInterval time.Duration
// Before and After funcs
BeforeStart []func() error
BeforeStop []func() error
AfterStart []func() error
AfterStop []func() error
// Other options for implementations of the interface
// can be stored in a context
Context context.Context
}
type Publisher ¶
Publisher is syntactic sugar for publishing
type Publisher interface {
Publish(ctx context.Context, msg interface{}, opts ...client.PublishOption) error
}
func NewPublisher ¶
func NewPublisher(topic string, c client.Client) Publisher
NewPublisher returns a new Publisher
type Service ¶
Service is an interface that wraps the lower level libraries within go-micro. Its a convenience method for building and initialising services.
type Service interface {
Init(...Option)
Options() Options
Client() client.Client
Server() server.Server
Run() error
String() string
}
func FromContext ¶
func FromContext(ctx context.Context) (Service, bool)
FromContext retrieves a Service from the Context.
func NewService ¶
func NewService(opts ...Option) Service
NewService creates an returns a new Service based on the packages within.
Subdirectories
| Name | Synopsis |
|---|---|
| .. | |
| broker | Package broker is an interface used for asynchronous messaging |
| codec | |
| json | |
| noop | |
| http | |
| mock | |
| client | Package client is an interface for an RPC client |
| mock | |
| rpc | |
| cmd | Package cmd is an interface for parsing the command line |
| codec | Package codec is an interface for encoding messages |
| jsonrpc | |
| protorpc | Package proto is a generated protocol buffer package. |
| errors | Package errors provides a way to return detailed information for an RPC request error. |
| metadata | Package metadata is a way of defining message headers |
| registry | Package registry is an interface for service discovery |
| consul | |
| mdns | |
| mock | |
| selector | Package selector is a way to load balance service nodes |
| cache | |
| server | Package server is an interface for a micro server |
| debug | |
| proto | Package debug is a generated protocol buffer package. |
| mock | |
| rpc | |
| transport | Package is an interface for synchronous communication |
| codec | |
| json | |
| noop | |
| http | |
| mock | |
ActiveGo 1.8