blob: 795ac9bd6a4cf6d7fd2abc8d2a044b26b18e974f [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 static int DatagramByteBufferSize = 61248;
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(DatagramByteBufferSize);
}
@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);
}
}
}