blob: 88e66daa7fda08a1279ec9fb542a8f6e26957cab [file] [log] [blame]
package org.eclipse.ote.io;
import java.net.SocketAddress;
import java.nio.ByteBuffer;
import java.util.List;
public final class BasicDatagramChannelDataFactory implements DatagramChannelDataFactory {
public BasicDatagramChannelDataFactory() {
}
@Override
public DatagramChannelData create(DatagramChannelDataPool pool) {
return new DatagramChannelDataImpl(pool);
}
private class DatagramChannelDataImpl implements DatagramChannelData {
private List<SocketAddress> addresses;
private DatagramChannelDataPool pool;
ByteBuffer buffer;
DatagramChannelDataImpl(DatagramChannelDataPool pool){
this.pool = pool;
buffer = ByteBuffer.allocateDirect(64000);
}
@Override
public ByteBuffer getByteBuffer() {
return buffer;
}
@Override
public List<SocketAddress> getAddresses() {
return addresses;
}
@Override
public void setAddresses(List<SocketAddress> addresses) {
this.addresses = addresses;
}
@Override
public void postProcess() {
pool.offer(this);
}
}
}