package org.torrent.internal.peer.connection;
import org.torrent.internal.protocol.message.BittorrentMessage;
import org.torrent.internal.util.Validator;
/**
* Receiver proxy that synchronizes on a {@link BTMessageReceiver} object.
*
* @author dante
*
*/
public class SynchronizingReceiver implements BTMessageReceiver {
private final BTMessageReceiver receiver;
public SynchronizingReceiver(BTMessageReceiver receiver) {
Validator.notNull(receiver, "Receiver is null!");
this.receiver = receiver;
}
@Override
public void received(BittorrentMessage message) {
synchronized (receiver) {
receiver.received(message);
}
}
}