core

package
v0.0.0-...-42db26b Latest Latest
Warning

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

Go to latest
Published: Oct 22, 2015 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	JsonEncoding       = &jsonEncoding{}
	JsonPrettyEncoding = &jsonEncoding{Indent: "  "}
	XmlEncoding        = &xmlEncoding{}
	XmlPrettyEncoding  = &xmlEncoding{Indent: "  "}
	YamlEncoding       = &yamlEncoding{}
)

Functions

func Assert

func Assert(target interface{}, format string, args ...interface{}) (ok bool)

Types

type ClientCodec

type ClientCodec interface {
	ClientDispatcher(transport Transport) Service
}

type ClientCodecConfig

type ClientCodecConfig struct {
	Name       string
	Uri        *url.URL
	KeepAlives bool
	TLSConfig  *tls.Config
}

type CodecFactory

type CodecFactory interface {
	ClientCodec(cfg *ClientCodecConfig) ClientCodec

	ServerCodec(cfg *ServerCodecConfig) ServerCodec
}

type Encoding

type Encoding interface {
	Marshal(v interface{}) ([]byte, error)

	Unmarshal(data []byte, v interface{}) error
}

type Endpoint

type Endpoint interface {
}

type NetTransport

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

func NewNetTransport

func NewNetTransport(ctxt context.Context, conn net.Conn) *NetTransport

func (*NetTransport) Close

func (t *NetTransport) Close(deadline time.Time) *promise.Future

func (*NetTransport) LocalAddr

func (t *NetTransport) LocalAddr() net.Addr

func (*NetTransport) Read

func (t *NetTransport) Read() *promise.Future

func (*NetTransport) RemoteAddr

func (t *NetTransport) RemoteAddr() net.Addr

func (*NetTransport) Write

func (t *NetTransport) Write(data []byte) *promise.Future

type Request

type Request interface {
}

type Response

type Response interface {
}

type Server

type Server interface {
	Serve(ctxt context.Context) error
}

type ServerBuilder

type ServerBuilder struct {
	Name              string
	Addr              net.Addr
	Backlog           int
	Daemon            bool
	Encoding          Encoding
	Codec             ServerCodec
	CodecFactory      CodecFactory
	TLSConfig         *tls.Config
	CertFile, KeyFile string
	Transport         Transport
}

func (*ServerBuilder) Build

func (b *ServerBuilder) Build(service Service) Server

type ServerCodec

type ServerCodec interface {
	ServerDispatcher(transport Transport, service Service) Server
}

type ServerCodecConfig

type ServerCodecConfig struct {
	Name              string
	Addr              net.Addr
	KeepAlives        bool
	TLSConfig         *tls.Config
	CertFile, KeyFile string
}

type Service

type Service interface {
	Apply(ctxt context.Context, req Request) *promise.Future
}

type ServiceBuilder

type ServiceBuilder interface {
	Build(service Service) Server
}

type Transport

type Transport interface {
	Read() *promise.Future // []byte

	Write() *promise.Future // int

	Close(deadline time.Time) *promise.Future // nil

	LocalAddr() net.Addr

	RemoteAddr() net.Addr
}

Jump to

Keyboard shortcuts

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