A working proxy exists.

This commit is contained in:
2021-02-27 22:25:50 +01:00
parent ce94bf0d89
commit 617d7834cc
29 changed files with 781 additions and 195 deletions

View File

@@ -4,38 +4,38 @@ import (
"fmt"
)
type enum struct {
type Enum struct {
name string
values []int32
}
func NewEnum(name string, values ...int32) *enum {
e := new(enum)
func NewEnum(name string, values ...int32) *Enum {
e := new(Enum)
e.name = name
e.values = values
return e
}
func (e enum) Name() string {
func (e Enum) Name() string {
return e.name
}
func (e enum) String() string {
func (e Enum) String() string {
return e.name + ":" + fmt.Sprint(e.values)
}
func (e *enum) valueTag() tag {
func (e *Enum) valueTag() tag {
return enumValueTag
}
func (e *enum) size() int {
return 9 + len(e.name)
func (e *Enum) size() int {
return 9 + len(e.name)
}
func (e *enum) addValue(v interface{}) {
func (e *Enum) addValue(v interface{}) {
e.values = append(e.values, v.(int32))
}
func (e *enum) marshal() []byte {
func (e *Enum) marshal() []byte {
return marshalInteger(enumValueTag, e.name, e.values)
}