github.com/btcsuite/btcd@v0.24.0/wire/msgfilterclear.go (about) 1 // Copyright (c) 2014-2015 The btcsuite developers 2 // Use of this source code is governed by an ISC 3 // license that can be found in the LICENSE file. 4 5 package wire 6 7 import ( 8 "fmt" 9 "io" 10 ) 11 12 // MsgFilterClear implements the Message interface and represents a bitcoin 13 // filterclear message which is used to reset a Bloom filter. 14 // 15 // This message was not added until protocol version BIP0037Version and has 16 // no payload. 17 type MsgFilterClear struct{} 18 19 // BtcDecode decodes r using the bitcoin protocol encoding into the receiver. 20 // This is part of the Message interface implementation. 21 func (msg *MsgFilterClear) BtcDecode(r io.Reader, pver uint32, enc MessageEncoding) error { 22 if pver < BIP0037Version { 23 str := fmt.Sprintf("filterclear message invalid for protocol "+ 24 "version %d", pver) 25 return messageError("MsgFilterClear.BtcDecode", str) 26 } 27 28 return nil 29 } 30 31 // BtcEncode encodes the receiver to w using the bitcoin protocol encoding. 32 // This is part of the Message interface implementation. 33 func (msg *MsgFilterClear) BtcEncode(w io.Writer, pver uint32, enc MessageEncoding) error { 34 if pver < BIP0037Version { 35 str := fmt.Sprintf("filterclear message invalid for protocol "+ 36 "version %d", pver) 37 return messageError("MsgFilterClear.BtcEncode", str) 38 } 39 40 return nil 41 } 42 43 // Command returns the protocol command string for the message. This is part 44 // of the Message interface implementation. 45 func (msg *MsgFilterClear) Command() string { 46 return CmdFilterClear 47 } 48 49 // MaxPayloadLength returns the maximum length the payload can be for the 50 // receiver. This is part of the Message interface implementation. 51 func (msg *MsgFilterClear) MaxPayloadLength(pver uint32) uint32 { 52 return 0 53 } 54 55 // NewMsgFilterClear returns a new bitcoin filterclear message that conforms to the Message 56 // interface. See MsgFilterClear for details. 57 func NewMsgFilterClear() *MsgFilterClear { 58 return &MsgFilterClear{} 59 }