org.jgroups.util.MyReceiver Maven / Gradle / Ivy
package org.jgroups.util;
import org.jgroups.Message;
import org.jgroups.ReceiverAdapter;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
/**
* Generic receiver for a JChannel
* @author Bela Ban
* @since 3.3
*/
public class MyReceiver extends ReceiverAdapter {
protected final List list=new CopyOnWriteArrayList<>();
protected String name;
protected boolean verbose;
protected boolean raw_msgs;
public void receive(Message msg) {
T obj=raw_msgs? (T)msg : (T)msg.getObject();
list.add(obj);
if(verbose) {
System.out.println((name() != null? name() + ":" : "") + " received message from " + msg.getSrc() + ": " + obj);
}
}
public MyReceiver rawMsgs(boolean flag) {this.raw_msgs=flag; return this;}
public List list() {return list;}
public MyReceiver verbose(boolean flag) {verbose=flag; return this;}
public String name() {return name;}
public MyReceiver name(String name) {this.name=name; return this;}
public MyReceiver reset() {list.clear(); return this;}
public int size() {return list.size();}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy