protorpc

package module
Version: v0.0.0-...-347730c Latest Latest
Warning

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

Go to latest
Published: Nov 11, 2010 License: BSD-3-Clause Imports: 5 Imported by: 0

README

About

    protorpc is a very simple RPC implementation for Go and protobuf. It is
    not intended for production use at this time, but because it builds on
    the RPC implementation in the Go standard library as well as protobuf it
    should be easy to work out any bugs.

    protorpc is unrelated to any other Protocol Buffers RPC implementation
    and does not intend to be compatible in API or wire format with any other.

License

    Unless otherwise noted, the protorpc source files are distributed
    under the BSD-style license found in the LICENSE file.

Requirements

    Go - http://golang.org/doc/install.html
    protobuf - http://code.google.com/p/protobuf/
    goprotobuf - http://code.google.com/p/goprotobuf/

Installing

    goinstall github.com/eclark/protorpc

    cd $GOROOT/src/pkg/github.com/eclark/protorpc/compiler
    make install

How it works

    Included is an alternate compiler plugin for protoc, building on the one
    included with goprotobuf, that understands service descriptors in your
    proto file.  It writes out an interface for your service, as well as
    client methods to give you an easy, type safe wrapper around rpc.Call.

Usage

    protoc --protorpc-go_out=. <input.proto>

    Output will be the same as goprotobuf's compiler, with the addition of
    the following for each service: one interface, one register function,
    one client struct, one New function which returns the client struct,
    and a method on the client struct for each method that the service
    defines.

    The best way to get started is to review the files in the example
    directory.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Dial

func Dial(netw, laddr, raddr string) (*rpc.Client, os.Error)

func NewClientCodec

func NewClientCodec(conn io.ReadWriteCloser) rpc.ClientCodec

func NewServerCodec

func NewServerCodec(conn io.ReadWriteCloser) rpc.ServerCodec

func Serve

func Serve(l net.Listener) os.Error

func ServeConn

func ServeConn(conn io.ReadWriteCloser)

Types

type Header struct {
	Seq              *uint64 "PB(varint,1,req,name=seq)"
	ServiceMethod    *string "PB(bytes,2,req,name=service_method)"
	Error            *string "PB(bytes,3,opt,name=error)"
	XXX_unrecognized []byte
}

func (*Header) Reset

func (this *Header) Reset()

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL