253 lines
6.0 KiB
Go
253 lines
6.0 KiB
Go
|
// Code generated by serde-generate; DO NOT EDIT.
|
||
|
|
||
|
package gossip
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"github.com/novifinancial/serde-reflection/serde-generate/runtime/golang/bincode"
|
||
|
"github.com/novifinancial/serde-reflection/serde-generate/runtime/golang/serde"
|
||
|
)
|
||
|
|
||
|
type Message interface {
|
||
|
isMessage()
|
||
|
Serialize(serializer serde.Serializer) error
|
||
|
BincodeSerialize() ([]byte, error)
|
||
|
}
|
||
|
|
||
|
func DeserializeMessage(deserializer serde.Deserializer) (Message, error) {
|
||
|
index, err := deserializer.DeserializeVariantIndex()
|
||
|
if err != nil {
|
||
|
return nil, err
|
||
|
}
|
||
|
|
||
|
switch index {
|
||
|
case 4:
|
||
|
if val, err := load_Message__Ping(deserializer); err == nil {
|
||
|
return &val, nil
|
||
|
} else {
|
||
|
return nil, err
|
||
|
}
|
||
|
|
||
|
case 5:
|
||
|
if val, err := load_Message__Pong(deserializer); err == nil {
|
||
|
return &val, nil
|
||
|
} else {
|
||
|
return nil, err
|
||
|
}
|
||
|
|
||
|
default:
|
||
|
return nil, fmt.Errorf("Unknown variant index for Message: %d", index)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func BincodeDeserializeMessage(input []byte) (Message, error) {
|
||
|
if input == nil {
|
||
|
var obj Message
|
||
|
return obj, fmt.Errorf("Cannot deserialize null array")
|
||
|
}
|
||
|
deserializer := bincode.NewDeserializer(input)
|
||
|
obj, err := DeserializeMessage(deserializer)
|
||
|
if err == nil && deserializer.GetBufferOffset() < uint64(len(input)) {
|
||
|
return obj, fmt.Errorf("Some input bytes were not read")
|
||
|
}
|
||
|
return obj, err
|
||
|
}
|
||
|
|
||
|
type Message__Ping struct {
|
||
|
Value Ping
|
||
|
}
|
||
|
|
||
|
func (*Message__Ping) isMessage() {}
|
||
|
|
||
|
func (obj *Message__Ping) Serialize(serializer serde.Serializer) error {
|
||
|
if err := serializer.IncreaseContainerDepth(); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
serializer.SerializeVariantIndex(4)
|
||
|
if err := obj.Value.Serialize(serializer); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
serializer.DecreaseContainerDepth()
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
func (obj *Message__Ping) BincodeSerialize() ([]byte, error) {
|
||
|
if obj == nil {
|
||
|
return nil, fmt.Errorf("Cannot serialize null object")
|
||
|
}
|
||
|
serializer := bincode.NewSerializer()
|
||
|
if err := obj.Serialize(serializer); err != nil {
|
||
|
return nil, err
|
||
|
}
|
||
|
return serializer.GetBytes(), nil
|
||
|
}
|
||
|
|
||
|
func load_Message__Ping(deserializer serde.Deserializer) (Message__Ping, error) {
|
||
|
var obj Message__Ping
|
||
|
if err := deserializer.IncreaseContainerDepth(); err != nil {
|
||
|
return obj, err
|
||
|
}
|
||
|
if val, err := DeserializePing(deserializer); err == nil {
|
||
|
obj.Value = val
|
||
|
} else {
|
||
|
return obj, err
|
||
|
}
|
||
|
deserializer.DecreaseContainerDepth()
|
||
|
return obj, nil
|
||
|
}
|
||
|
|
||
|
type Message__Pong struct {
|
||
|
Value Ping
|
||
|
}
|
||
|
|
||
|
func (*Message__Pong) isMessage() {}
|
||
|
|
||
|
func (obj *Message__Pong) Serialize(serializer serde.Serializer) error {
|
||
|
if err := serializer.IncreaseContainerDepth(); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
serializer.SerializeVariantIndex(5)
|
||
|
if err := obj.Value.Serialize(serializer); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
serializer.DecreaseContainerDepth()
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
func (obj *Message__Pong) BincodeSerialize() ([]byte, error) {
|
||
|
if obj == nil {
|
||
|
return nil, fmt.Errorf("Cannot serialize null object")
|
||
|
}
|
||
|
serializer := bincode.NewSerializer()
|
||
|
if err := obj.Serialize(serializer); err != nil {
|
||
|
return nil, err
|
||
|
}
|
||
|
return serializer.GetBytes(), nil
|
||
|
}
|
||
|
|
||
|
func load_Message__Pong(deserializer serde.Deserializer) (Message__Pong, error) {
|
||
|
var obj Message__Pong
|
||
|
if err := deserializer.IncreaseContainerDepth(); err != nil {
|
||
|
return obj, err
|
||
|
}
|
||
|
if val, err := DeserializePing(deserializer); err == nil {
|
||
|
obj.Value = val
|
||
|
} else {
|
||
|
return obj, err
|
||
|
}
|
||
|
deserializer.DecreaseContainerDepth()
|
||
|
return obj, nil
|
||
|
}
|
||
|
|
||
|
type Ping struct {
|
||
|
From [32]uint8
|
||
|
Token [32]uint8
|
||
|
Signature [64]uint8
|
||
|
}
|
||
|
|
||
|
func (obj *Ping) Serialize(serializer serde.Serializer) error {
|
||
|
if err := serializer.IncreaseContainerDepth(); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
if err := serialize_array32_u8_array(obj.From, serializer); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
if err := serialize_array32_u8_array(obj.Token, serializer); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
if err := serialize_array64_u8_array(obj.Signature, serializer); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
serializer.DecreaseContainerDepth()
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
func (obj *Ping) BincodeSerialize() ([]byte, error) {
|
||
|
if obj == nil {
|
||
|
return nil, fmt.Errorf("Cannot serialize null object")
|
||
|
}
|
||
|
serializer := bincode.NewSerializer()
|
||
|
if err := obj.Serialize(serializer); err != nil {
|
||
|
return nil, err
|
||
|
}
|
||
|
return serializer.GetBytes(), nil
|
||
|
}
|
||
|
|
||
|
func DeserializePing(deserializer serde.Deserializer) (Ping, error) {
|
||
|
var obj Ping
|
||
|
if err := deserializer.IncreaseContainerDepth(); err != nil {
|
||
|
return obj, err
|
||
|
}
|
||
|
if val, err := deserialize_array32_u8_array(deserializer); err == nil {
|
||
|
obj.From = val
|
||
|
} else {
|
||
|
return obj, err
|
||
|
}
|
||
|
if val, err := deserialize_array32_u8_array(deserializer); err == nil {
|
||
|
obj.Token = val
|
||
|
} else {
|
||
|
return obj, err
|
||
|
}
|
||
|
if val, err := deserialize_array64_u8_array(deserializer); err == nil {
|
||
|
obj.Signature = val
|
||
|
} else {
|
||
|
return obj, err
|
||
|
}
|
||
|
deserializer.DecreaseContainerDepth()
|
||
|
return obj, nil
|
||
|
}
|
||
|
|
||
|
func BincodeDeserializePing(input []byte) (Ping, error) {
|
||
|
if input == nil {
|
||
|
var obj Ping
|
||
|
return obj, fmt.Errorf("Cannot deserialize null array")
|
||
|
}
|
||
|
deserializer := bincode.NewDeserializer(input)
|
||
|
obj, err := DeserializePing(deserializer)
|
||
|
if err == nil && deserializer.GetBufferOffset() < uint64(len(input)) {
|
||
|
return obj, fmt.Errorf("Some input bytes were not read")
|
||
|
}
|
||
|
return obj, err
|
||
|
}
|
||
|
func serialize_array32_u8_array(value [32]uint8, serializer serde.Serializer) error {
|
||
|
for _, item := range value {
|
||
|
if err := serializer.SerializeU8(item); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
}
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
func deserialize_array32_u8_array(deserializer serde.Deserializer) ([32]uint8, error) {
|
||
|
var obj [32]uint8
|
||
|
for i := range obj {
|
||
|
if val, err := deserializer.DeserializeU8(); err == nil {
|
||
|
obj[i] = val
|
||
|
} else {
|
||
|
return obj, err
|
||
|
}
|
||
|
}
|
||
|
return obj, nil
|
||
|
}
|
||
|
|
||
|
func serialize_array64_u8_array(value [64]uint8, serializer serde.Serializer) error {
|
||
|
for _, item := range value {
|
||
|
if err := serializer.SerializeU8(item); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
}
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
func deserialize_array64_u8_array(deserializer serde.Deserializer) ([64]uint8, error) {
|
||
|
var obj [64]uint8
|
||
|
for i := range obj {
|
||
|
if val, err := deserializer.DeserializeU8(); err == nil {
|
||
|
obj[i] = val
|
||
|
} else {
|
||
|
return obj, err
|
||
|
}
|
||
|
}
|
||
|
return obj, nil
|
||
|
}
|