View Source
const (
	// DefaultRPCPath is used by ServeHTTP.
	DefaultRPCPath = "/_rpcx_"

	// AuthKey is used in metadata.
	AuthKey = "__AUTH"

	// OpentracingSpanServerKey key in service context
	OpentracingSpanServerKey = "opentracing_span_server_key"
	// OpentracingSpanClientKey key in client context
	OpentracingSpanClientKey = "opentracing_span_client_key"

	// OpencensusSpanServerKey key in service context
	OpencensusSpanServerKey = "opencensus_span_server_key"
	// OpencensusSpanClientKey key in client context
	OpencensusSpanClientKey = "opencensus_span_client_key"
	// OpencensusSpanRequestKey span key in request meta
	OpencensusSpanRequestKey = "opencensus_span_request_key"

	// SendFileServiceName file transfer service.
	SendFileServiceName = "_filetransfer"


View Source
var (
	// Codecs are codecs supported by rpcx. You can add customized codecs in Codecs.
	Codecs = map[protocol.SerializeType]codec.Codec{
		protocol.SerializeNone: &codec.ByteCodec{},
		protocol.JSON:          &codec.JSONCodec{},
		protocol.ProtoBuffer:   &codec.PBCodec{},
		protocol.MsgPack:       &codec.MsgpackCodec{},
		protocol.Thrift:        &codec.ThriftCodec{},
View Source
var ReqMetaDataKey = ContextKey("__req_metadata")

    ReqMetaDataKey is used to set metatdata in context of requests.

    View Source
    var ResMetaDataKey = ContextKey("__res_metadata")

      ResMetaDataKey is used to set metatdata in context of responses.


      func GetOpencensusSpanContextFromContext

      func GetOpencensusSpanContextFromContext(ctx context.Context) (*trace.SpanContext, error)

        GetOpencensusSpanContextFromContext get opencensus.trace.SpanContext from context.Context.

        func GetSpanContextFromContext

        func GetSpanContextFromContext(ctx context.Context) (opentracing.SpanContext, error)

          GetSpanContextFromContext get opentracing.SpanContext from context.Context.

          func RegisterCodec

          func RegisterCodec(t protocol.SerializeType, c codec.Codec)

            RegisterCodec register customized codec.


            type Context

            type Context struct {
            	// contains filtered or unexported fields

              Context is a rpcx customized Context that can contains multiple values.

              func NewContext

              func NewContext(ctx context.Context) *Context

              func WithLocalValue

              func WithLocalValue(ctx *Context, key, val interface{}) *Context

              func WithValue

              func WithValue(parent context.Context, key, val interface{}) *Context

              func (*Context) SetValue

              func (c *Context) SetValue(key, val interface{})

              func (*Context) String

              func (c *Context) String() string

              func (*Context) Value

              func (c *Context) Value(key interface{}) interface{}

              type ContextKey

              type ContextKey string

                ContextKey defines key type in context.

                type DownloadFileArgs

                type DownloadFileArgs struct {
                	FileName string `json:"file_name,omitempty"`

                  DownloadFileArgs args from clients.

                  type FileTransferArgs

                  type FileTransferArgs struct {
                  	FileName string            `json:"file_name,omitempty"`
                  	FileSize int64             `json:"file_size,omitempty"`
                  	Meta     map[string]string `json:"meta,omitempty"`

                    FileTransferArgs args from clients.

                    type FileTransferReply

                    type FileTransferReply struct {
                    	Token []byte `json:"token,omitempty"`
                    	Addr  string `json:"addr,omitempty"`

                      FileTransferReply response to token and addr to clients.