aboutsummaryrefslogtreecommitdiff
path: root/types/trunnel.go
diff options
context:
space:
mode:
authorRasmus Dahlberg <rasmus.dahlberg@kau.se>2021-06-06 15:59:35 +0200
committerRasmus Dahlberg <rasmus.dahlberg@kau.se>2021-06-06 15:59:35 +0200
commit47bacfd5c5d22470340e0823c4ad37b45914b68e (patch)
tree0984b55ced1e537e8d1d681c77157f1a47e47cdc /types/trunnel.go
parent0285454c34b0b3003bc8ede3e304b843ad949be8 (diff)
started using the refactored packages in siglog server
Diffstat (limited to 'types/trunnel.go')
-rw-r--r--types/trunnel.go60
1 files changed, 0 insertions, 60 deletions
diff --git a/types/trunnel.go b/types/trunnel.go
deleted file mode 100644
index 268f6f7..0000000
--- a/types/trunnel.go
+++ /dev/null
@@ -1,60 +0,0 @@
-package types
-
-import (
- "encoding/binary"
- "fmt"
-)
-
-const (
- // MessageSize is the number of bytes in a Trunnel-encoded leaf message
- MessageSize = 8 + HashSize
- // LeafSize is the number of bytes in a Trunnel-encoded leaf
- LeafSize = MessageSize + SignatureSize + HashSize
-)
-
-// Marshal returns a Trunnel-encoded message
-func (m *Message) Marshal() []byte {
- buf := make([]byte, MessageSize)
- binary.BigEndian.PutUint64(buf, m.ShardHint)
- copy(buf[8:], m.Checksum[:])
- return buf
-}
-
-// Marshal returns a Trunnel-encoded leaf
-func (l *Leaf) Marshal() []byte {
- buf := l.Message.Marshal()
- buf = append(buf, l.SigIdent.Signature[:]...)
- buf = append(buf, l.SigIdent.KeyHash[:]...)
- return buf
-}
-
-// Marshal returns a Trunnel-encoded tree head
-func (th *TreeHead) Marshal() []byte {
- buf := make([]byte, 8+8+HashSize)
- binary.BigEndian.PutUint64(buf[0:8], th.Timestamp)
- binary.BigEndian.PutUint64(buf[8:16], th.TreeSize)
- copy(buf[16:], th.RootHash[:])
- return buf
-}
-
-// Unmarshal parses the Trunnel-encoded buffer as a leaf
-func (l *Leaf) Unmarshal(buf []byte) error {
- if len(buf) != LeafSize {
- return fmt.Errorf("invalid leaf size: %v", len(buf))
- }
- // Shard hint
- l.ShardHint = binary.BigEndian.Uint64(buf)
- offset := 8
- // Checksum
- l.Checksum = &[HashSize]byte{}
- copy(l.Checksum[:], buf[offset:offset+HashSize])
- offset += HashSize
- // Signature
- l.Signature = &[SignatureSize]byte{}
- copy(l.Signature[:], buf[offset:offset+SignatureSize])
- offset += SignatureSize
- // KeyHash
- l.KeyHash = &[HashSize]byte{}
- copy(l.KeyHash[:], buf[offset:])
- return nil
-}