forked from jshiffer/matterbridge
32 lines
1.3 KiB
Go
32 lines
1.3 KiB
Go
|
// Package serialize provides a serialization structure to serialize and
|
||
|
// deserialize Signal objects into storeable and transportable bytes.
|
||
|
package serialize
|
||
|
|
||
|
import (
|
||
|
groupRecord "go.mau.fi/libsignal/groups/state/record"
|
||
|
"go.mau.fi/libsignal/protocol"
|
||
|
"go.mau.fi/libsignal/state/record"
|
||
|
)
|
||
|
|
||
|
// NewSerializer will return a new serializer object that will be used
|
||
|
// to encode/decode Signal objects into bytes.
|
||
|
func NewSerializer() *Serializer {
|
||
|
return &Serializer{}
|
||
|
}
|
||
|
|
||
|
// Serializer is a structure to serialize Signal objects
|
||
|
// into bytes. This allows you to use any serialization format
|
||
|
// to store or send Signal objects.
|
||
|
type Serializer struct {
|
||
|
SenderKeyRecord groupRecord.SenderKeySerializer
|
||
|
SenderKeyState groupRecord.SenderKeyStateSerializer
|
||
|
SignalMessage protocol.SignalMessageSerializer
|
||
|
PreKeySignalMessage protocol.PreKeySignalMessageSerializer
|
||
|
SenderKeyMessage protocol.SenderKeyMessageSerializer
|
||
|
SenderKeyDistributionMessage protocol.SenderKeyDistributionMessageSerializer
|
||
|
SignedPreKeyRecord record.SignedPreKeySerializer
|
||
|
PreKeyRecord record.PreKeySerializer
|
||
|
State record.StateSerializer
|
||
|
Session record.SessionSerializer
|
||
|
}
|