package org.ripple.power.txns.btc; import java.nio.ByteBuffer; /** * The 'filterclear' message clear the bloom filter for the client. * * The message consists of just the message header. */ public class FilterClearMessage { /** * Build a 'filterclear' message * * @param peer Destination peer * @return 'filterclear' message */ public static Message buildFilterClearMessage(Peer peer) { ByteBuffer buffer = MessageHeader.buildMessage("filterclear", new byte[0]); return new Message(buffer, peer, MessageHeader.MessageCommand.FILTERCLEAR); } /** * Process a 'filterclear' message * * The existing Bloom filter will be cleared * * @param msg Message * @param inBuffer Input buffer * @param msgListener Message listener */ public static void processFilterClearMessage(Message msg, SerializedBuffer inBuffer, MessageListener msgListener) { Peer peer = msg.getPeer(); // // Clear the current Bloom filter // BloomFilter oldFilter; synchronized(peer) { oldFilter = peer.getBloomFilter(); peer.setBloomFilter(null); } // // Notify the message listener // msgListener.processFilterClear(msg, oldFilter); } }