package com.esotericsoftware.kryonet.util;
import com.esotericsoftware.kryonet.Connection;
import com.esotericsoftware.kryonet.Listener;
abstract public class TcpIdleSender extends Listener {
boolean started;
public void idle(Connection connection) {
if (!started) {
started = true;
start();
}
Object object = next();
if (object == null)
connection.removeListener(this);
else
connection.sendTCP(object);
}
/**
* Called once, before the first send. Subclasses can override this method
* to send something so the receiving side expects subsequent objects.
*/
protected void start() {
}
/**
* Returns the next object to send, or null if no more objects will be sent.
*/
abstract protected Object next();
}