]> git.r.bdr.sh - rbdr/mobius/blobdiff - hotline/transaction.go
Fix some data races
[rbdr/mobius] / hotline / transaction.go
index 04fb4b6520cb51a884ca4f7b86e9c208870d6716..e7bfa58318a9f1baa4330e14ae5709ee55da3546 100644 (file)
@@ -214,7 +214,7 @@ func ReadFields(paramCount []byte, buf []byte) ([]Field, error) {
        return fields, nil
 }
 
-func (t Transaction) MarshalBinary() (data []byte, err error) {
+func (t *Transaction) MarshalBinary() (data []byte, err error) {
        payloadSize := t.Size()
 
        fieldCount := make([]byte, 2)
@@ -238,7 +238,7 @@ func (t Transaction) MarshalBinary() (data []byte, err error) {
 }
 
 // Size returns the total size of the transaction payload
-func (t Transaction) Size() []byte {
+func (t *Transaction) Size() []byte {
        bs := make([]byte, 4)
 
        fieldSize := 0
@@ -251,7 +251,7 @@ func (t Transaction) Size() []byte {
        return bs
 }
 
-func (t Transaction) GetField(id int) Field {
+func (t *Transaction) GetField(id int) Field {
        for _, field := range t.Fields {
                if id == int(binary.BigEndian.Uint16(field.ID)) {
                        return field