serialize

package
v3.0.0-...-7d4fba5 Latest Latest
Warning

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

Go to latest
Published: Nov 27, 2023 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Package serialize provides a Serializer interface with implementations that encode and decode message data in various ways.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MsgpackRegisterExtension

func MsgpackRegisterExtension(t reflect.Type, ext byte, encode func(reflect.Value) ([]byte, error), decode func(reflect.Value, []byte) error) error

MsgpackRegisterExtension registers a custom type for special serialization.

Types

type BinaryData

type BinaryData []byte

Binary data follows a convention for conversion to JSON strings.

A byte array is converted to a JSON string as follows:

1. convert the byte array to a Base64 encoded (host language) string 2. prepend the string with a \0 character 3. serialize the string to a JSON string

func (BinaryData) MarshalJSON

func (b BinaryData) MarshalJSON() ([]byte, error)

func (*BinaryData) UnmarshalJSON

func (b *BinaryData) UnmarshalJSON(v []byte) error

type CBORSerializer

type CBORSerializer struct{}

CBORSerializer is an implementation of Serializer that handles serializing and deserializing cbor encoded payloads.

func (*CBORSerializer) Deserialize

func (s *CBORSerializer) Deserialize(data []byte) (wamp.Message, error)

Deserialize decodes a cbor payload into a Message.

func (*CBORSerializer) DeserializeDataItem

func (s *CBORSerializer) DeserializeDataItem(data []byte, v interface{}) error

DeserializeDataItem decodes a json payload into an object/structure.

func (*CBORSerializer) Serialize

func (s *CBORSerializer) Serialize(msg wamp.Message) ([]byte, error)

Serialize encodes a Message into a cbor payload.

func (*CBORSerializer) SerializeDataItem

func (s *CBORSerializer) SerializeDataItem(item interface{}) ([]byte, error)

SerializeDataItem encodes any object/structure into a cbor payload.

type JSONSerializer

type JSONSerializer struct{}

JSONSerializer is an implementation of Serializer that handles serializing and deserializing json encoded payloads.

func (*JSONSerializer) Deserialize

func (s *JSONSerializer) Deserialize(data []byte) (wamp.Message, error)

Deserialize decodes a json payload into a Message.

func (*JSONSerializer) DeserializeDataItem

func (s *JSONSerializer) DeserializeDataItem(data []byte, v interface{}) error

DeserializeDataItem decodes a json payload into an object/structure.

func (*JSONSerializer) Serialize

func (s *JSONSerializer) Serialize(msg wamp.Message) ([]byte, error)

Serialize encodes a Message into a json payload.

func (*JSONSerializer) SerializeDataItem

func (s *JSONSerializer) SerializeDataItem(item interface{}) ([]byte, error)

SerializeDataItem encodes any object/structure into a json payload.

type MessagePackSerializer

type MessagePackSerializer struct{}

MessagePackSerializer is an implementation of Serializer that handles serializing and deserializing msgpack encoded payloads.

func (*MessagePackSerializer) Deserialize

func (s *MessagePackSerializer) Deserialize(data []byte) (wamp.Message, error)

Deserialize decodes a msgpack payload into a Message.

func (*MessagePackSerializer) DeserializeDataItem

func (s *MessagePackSerializer) DeserializeDataItem(data []byte, v interface{}) error

DeserializeDataItem decodes a json payload into an object/structure.

func (*MessagePackSerializer) Serialize

func (s *MessagePackSerializer) Serialize(msg wamp.Message) ([]byte, error)

Serialize encodes a Message into a msgpack payload.

func (*MessagePackSerializer) SerializeDataItem

func (s *MessagePackSerializer) SerializeDataItem(item interface{}) ([]byte, error)

SerializeDataItem encodes any object/structure into a msgpack payload.

type Serialization

type Serialization int

Serialization indicates the data serialization format used in a WAMP session

const (
	AUTO Serialization = iota
	// Use JSON-encoded strings as a payload.
	JSON
	// Use msgpack-encoded strings as a payload.
	MSGPACK
	// Use CBOR encoding as a payload
	CBOR
)

type Serializer

type Serializer interface {
	Serialize(wamp.Message) ([]byte, error)
	Deserialize([]byte) (wamp.Message, error)
	SerializeDataItem(item interface{}) ([]byte, error)
	DeserializeDataItem([]byte, interface{}) error
}

Serializer is the interface implemented by an object that can serialize and deserialize WAMP messages

Jump to

Keyboard shortcuts

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