radiance/pkg/gossip/schema.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
}