kproto

package module
v0.0.0-...-4fc1480 Latest Latest
Warning

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

Go to latest
Published: Jun 28, 2017 License: MIT Imports: 9 Imported by: 0

README

kproto 协议分析

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrParse   = errors.New("代码编译出错")
	ErrLine    = errors.New("错误行")
	ErrComment = errors.New("注释行出错")
)
View Source
var KPTString = []string{
	"unknown",
	"comment",
	"package",
	"message",
	"field",
	"rpc",
	"method",
	"spaceline",
}
View Source
var LineFuncSet = []ParseFunc{
	nil,
	nil,
	parse_package,
	parse_message,
	parse_field,
	parse_rpc,
	parse_method,
	nil,
}

Functions

This section is empty.

Types

type Buffer

type Buffer struct {
	bytes.Buffer
	// contains filtered or unexported fields
}

func (*Buffer) WriteArrayBool

func (b *Buffer) WriteArrayBool(v []bool) error

func (*Buffer) WriteArrayFloat32

func (b *Buffer) WriteArrayFloat32(v []float32) error

func (*Buffer) WriteArrayFloat64

func (b *Buffer) WriteArrayFloat64(v []float64) error

func (*Buffer) WriteArrayInt16

func (b *Buffer) WriteArrayInt16(v []int16) error

func (*Buffer) WriteArrayInt32

func (b *Buffer) WriteArrayInt32(v []int32) error

func (*Buffer) WriteArrayInt64

func (b *Buffer) WriteArrayInt64(v []int64) error

func (*Buffer) WriteArrayInt8

func (b *Buffer) WriteArrayInt8(v []int8) error

func (*Buffer) WriteArrayString

func (b *Buffer) WriteArrayString(v []string) error

func (*Buffer) WriteArrayUint16

func (b *Buffer) WriteArrayUint16(v []uint16) error

func (*Buffer) WriteArrayUint32

func (b *Buffer) WriteArrayUint32(v []uint32) error

func (*Buffer) WriteArrayUint64

func (b *Buffer) WriteArrayUint64(v []uint64) error

func (*Buffer) WriteArrayUint8

func (b *Buffer) WriteArrayUint8(v []uint8) error

func (*Buffer) WriteBool

func (b *Buffer) WriteBool(v bool) error

func (*Buffer) WriteFloat32

func (b *Buffer) WriteFloat32(v float32) error

func (*Buffer) WriteFloat64

func (b *Buffer) WriteFloat64(v float64) error

func (*Buffer) WriteInt16

func (b *Buffer) WriteInt16(v int16) error

func (*Buffer) WriteInt32

func (b *Buffer) WriteInt32(v int32) error

func (*Buffer) WriteInt64

func (b *Buffer) WriteInt64(v int64) error

func (*Buffer) WriteInt8

func (b *Buffer) WriteInt8(v int8) error

func (*Buffer) WriteString

func (b *Buffer) WriteString(v string) error

func (*Buffer) WriteStruct

func (b *Buffer) WriteStruct(v Writer) error

func (*Buffer) WriteUint16

func (b *Buffer) WriteUint16(v uint16) error

func (*Buffer) WriteUint32

func (b *Buffer) WriteUint32(v uint32) error

func (*Buffer) WriteUint64

func (b *Buffer) WriteUint64(v uint64) error

func (*Buffer) WriteUint8

func (b *Buffer) WriteUint8(v uint8) error

type FieldDesc

type FieldDesc struct {
	Name   string
	Type   string
	Length uint16
}

type FileDesc

type FileDesc struct {
	FileName    string
	IDCounter   uint16
	PackageName string
	Packages    []*PackageDesc
	Messages    []*MessageDesc
	RPCs        []*RPCDesc
}

func LoadProtoFile1

func LoadProtoFile1(fname string) (out *FileDesc, err error)

func NewProtoFile

func NewProtoFile() *FileDesc

func (*FileDesc) AddMessage

func (f *FileDesc) AddMessage(id uint16, name string) *MessageDesc

func (*FileDesc) AddPackage

func (f *FileDesc) AddPackage(lang string, name string) *PackageDesc

func (*FileDesc) AddRPC

func (f *FileDesc) AddRPC(name string) *RPCDesc

func (*FileDesc) SetPackage

func (f *FileDesc) SetPackage(lang string)

type KProtoType

type KProtoType int
const (
	KPT_Unknown KProtoType = iota
	KPT_Comment
	KPT_Package
	KPT_Message
	KPT_Field
	KPT_RPC
	KPT_Method
	KPT_SpaceLine
)

type MessageDesc

type MessageDesc struct {
	Id     uint16
	Name   string
	Fields []*FieldDesc
}

func (*MessageDesc) AddField

func (msg *MessageDesc) AddField(name, typ string, l uint16)

type MethodDesc

type MethodDesc struct {
	Name    string
	Request string
	Reply   string
}

type PackageDesc

type PackageDesc struct {
	Lang string
	Name string
}

type ParseFunc

type ParseFunc func(string, *FileDesc) error

type RPCDesc

type RPCDesc struct {
	Name    string
	Methods []*MethodDesc
}

func (*RPCDesc) AddMethod

func (rpc *RPCDesc) AddMethod(name, request, reply string)

type Writer

type Writer interface {
	Write(w *Buffer) error
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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