Documentation

Overview

Package raw provides the raw encoding for YARPC.

To make outbound requests,

client := raw.New(clientConfig)
resBody, err := client.Call(ctx, "submit", []byte{1, 2, 3})

Use the Procedure function to build procedures to register against a Router.

func Submit(ctx context.Context, reqBody []byte) ([]byte, error) {
	// ...
}

dispatcher.Register(raw.Procedure("submit", Submit))

Similarly, use the OnewayProcedure function to build procedures to register against a Router.

func RunTask(ctx context.Context, reqBody []byte) error {
	// ...
}

dispatcher.Register(raw.OnewayProcedure("RunTask", RunTask))

Index

Constants

View Source
const Encoding transport.Encoding = "raw"

Encoding is the name of this encoding.

Variables

This section is empty.

Functions

func OnewayProcedure

func OnewayProcedure(name string, handler OnewayHandler) []transport.Procedure

OnewayProcedure builds a Procedure from the given raw handler

func Procedure

func Procedure(name string, handler UnaryHandler) []transport.Procedure

Procedure builds a Procedure from the given raw handler.

func Register

func Register(r transport.RouteTable, rs []transport.Procedure)

Register calls the RouteTable's Register method.

This function exists for backwards compatibility only. It will be removed in a future version.

Deprecated: Use the RouteTable's Register method directly.

Types

type Client

type Client interface {
	// Call performs a unary outbound Raw request.
	Call(ctx context.Context, procedure string, body []byte, opts ...yarpc.CallOption) ([]byte, error)

	// CallOneway performs a oneway outbound Raw request.
	CallOneway(ctx context.Context, procedure string, body []byte, opts ...yarpc.CallOption) (transport.Ack, error)
}

Client makes Raw requests to a single service.

func New

New builds a new Raw client.

type OnewayHandler

type OnewayHandler func(context.Context, []byte) error

OnewayHandler implements a single, onweway procedure

type UnaryHandler

type UnaryHandler func(context.Context, []byte) ([]byte, error)

UnaryHandler implements a single, unary procedure.