Convert MsgGetBlocks errors to MessageError type.

This commit is contained in:
Dave Collins 2013-05-11 02:15:50 -05:00
parent 9bd97a5972
commit bd1dcf8a0c

View file

@ -37,9 +37,9 @@ type MsgGetBlocks struct {
// AddBlockLocatorHash adds a new block locator hash to the message. // AddBlockLocatorHash adds a new block locator hash to the message.
func (msg *MsgGetBlocks) AddBlockLocatorHash(hash *ShaHash) error { func (msg *MsgGetBlocks) AddBlockLocatorHash(hash *ShaHash) error {
if len(msg.BlockLocatorHashes)+1 > MaxBlockLocatorsPerMsg { if len(msg.BlockLocatorHashes)+1 > MaxBlockLocatorsPerMsg {
str := "MsgGetBlocks.AddBlockLocatorHash: too many block " + str := fmt.Sprintf("too many block locator hashes for message [max %v]",
"locator hashes for message [max %v]" MaxBlockLocatorsPerMsg)
return fmt.Errorf(str, MaxBlockLocatorsPerMsg) return messageError("MsgGetBlocks.AddBlockLocatorHash", str)
} }
msg.BlockLocatorHashes = append(msg.BlockLocatorHashes, hash) msg.BlockLocatorHashes = append(msg.BlockLocatorHashes, hash)
@ -60,8 +60,9 @@ func (msg *MsgGetBlocks) BtcDecode(r io.Reader, pver uint32) error {
return err return err
} }
if count > MaxBlockLocatorsPerMsg { if count > MaxBlockLocatorsPerMsg {
str := "%v: too many block locator hashes in message [%v]" str := fmt.Sprintf("too many block locator hashes for message "+
return fmt.Errorf(str, "MsgGetBlocks.BtcDecode", count) "[count %v, max %v]", count, MaxBlockLocatorsPerMsg)
return messageError("MsgGetBlocks.BtcDecode", str)
} }
for i := uint64(0); i < count; i++ { for i := uint64(0); i < count; i++ {
@ -86,8 +87,9 @@ func (msg *MsgGetBlocks) BtcDecode(r io.Reader, pver uint32) error {
func (msg *MsgGetBlocks) BtcEncode(w io.Writer, pver uint32) error { func (msg *MsgGetBlocks) BtcEncode(w io.Writer, pver uint32) error {
count := len(msg.BlockLocatorHashes) count := len(msg.BlockLocatorHashes)
if count > MaxBlockLocatorsPerMsg { if count > MaxBlockLocatorsPerMsg {
str := "%v: too many block locator hashes in message [%v]" str := fmt.Sprintf("too many block locator hashes for message "+
return fmt.Errorf(str, "MsgGetBlocks.BtcEncode", count) "[count %v, max %v]", count, MaxBlockLocatorsPerMsg)
return messageError("MsgGetBlocks.BtcEncode", str)
} }
err := writeElement(w, msg.ProtocolVersion) err := writeElement(w, msg.ProtocolVersion)