kaspad/netadapter/server/grpcserver/protowire/message_request_transactions.go
Ori Newman 42e50e6dc2
[NOD-1191] Convert wire protocol to proto (#831)
* [NOD-1191] Convert wire protocol to 100% protobuf

* [NOD-1191] Simplify wire interface and remove redundant messages

* [NOD-1191] Map all proto to wire conversions

* [NOD-1203] Create netadapter outside of protocol manager

* [NOD-1191] Fix nil errors

* [NOD-1191] Fix comments

* [NOD-1191] Add converter interface

* [NOD-1191] Add missing GetBlockLocator message

* [NOD-1191] Change message names that starts with 'get' to 'request'

* [NOD-1191] Change message commands values

* [NOD-1191] Remove redundant methods

* [NOD-1191] Rename message constructors

* [NOD-1191] Change message commands to use iota

* [NOD-1191] Add missing outputs to protobuf conversion

* [NOD-1191] Make block header a required field

* [NOD-1191] Rename variables

* [NOD-1212] Fix test names

* [NOD-1191] Rename flow names

* [NOD-1191] Fix infinite loop
2020-07-30 18:19:55 +03:00

32 lines
1.0 KiB
Go

package protowire
import (
"github.com/kaspanet/kaspad/wire"
"github.com/pkg/errors"
)
func (x *KaspadMessage_RequestTransactions) toWireMessage() (wire.Message, error) {
if len(x.RequestTransactions.Ids) > wire.MaxInvPerRequestTransactionsMsg {
return nil, errors.Errorf("too many hashes for message "+
"[count %d, max %d]", len(x.RequestTransactions.Ids), wire.MaxInvPerRequestTransactionsMsg)
}
ids, err := protoTransactionIDsToWire(x.RequestTransactions.Ids)
if err != nil {
return nil, err
}
return &wire.MsgRequestTransactions{IDs: ids}, nil
}
func (x *KaspadMessage_RequestTransactions) fromWireMessage(msgGetTransactions *wire.MsgRequestTransactions) error {
if len(x.RequestTransactions.Ids) > wire.MaxInvPerRequestTransactionsMsg {
return errors.Errorf("too many hashes for message "+
"[count %d, max %d]", len(x.RequestTransactions.Ids), wire.MaxInvPerRequestTransactionsMsg)
}
x.RequestTransactions = &RequestTransactionsMessage{
Ids: wireTransactionIDsToProto(msgGetTransactions.IDs),
}
return nil
}