summaryrefslogtreecommitdiffstats
path: root/vendor/go.mau.fi/libsignal/serialize/Serializer.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/go.mau.fi/libsignal/serialize/Serializer.go')
-rw-r--r--vendor/go.mau.fi/libsignal/serialize/Serializer.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/vendor/go.mau.fi/libsignal/serialize/Serializer.go b/vendor/go.mau.fi/libsignal/serialize/Serializer.go
new file mode 100644
index 00000000..fe7dd433
--- /dev/null
+++ b/vendor/go.mau.fi/libsignal/serialize/Serializer.go
@@ -0,0 +1,31 @@
+// 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
+}