queue.execute(new Runnable() {
public void run() {
Transport transport = getIdleTransport();
if (transport != null) {
doOffer(transport, data, id);
if( transport.full() ) {
transports.get(transport).time = 0L;
}
} else {
pending.add(new Pair(data, id));
}