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(); }