...
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
public class ExampleTransportHandler extends AbstractPullTransportHandler { /** Logger */ private Logger LOG = LoggerFactory.getLogger(ExampleTransportHandler.class); private InputStream in; private outputStrem out; public ExampleTransportHandler() { super(); } public ExampleTransportHandler(IProtocolHandler<?> protocolHandler) { super(protocolHandler); } @Override public void send(byte[] message) throws IOException { } @Override public ITransportHandler createInstance( IProtocolHandler<?> protocolHandler, Map<String, String> options) { SpeechTransportHandler handler = new SpeechTransportHandler( protocolHandler); // Set options return handler; } @Override public String getName() { return "Example"; } @Override public void processInOpen() throws IOException { } @Override public void processOutOpen() throws IOException { } @Override public void processInClose() throws IOException { } @Override public void processOutClose() throws IOException { } @Override public InputStream getInputStream() { return in; } @Override public OutputStream getOutputStream() { return out; } @Override public ITransportExchangePattern getExchangePattern() { return ITransportExchangePattern.InOnly; } |
Existing Extensions
Protocol Handler
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
public class ExampleProtocolHandler<T> extends AbstractProtocolHandler<T> {
public ExampleProtocolHandler() {
super();
}
public ExampleProtocolHandler(ITransportDirection direction,
IAccessPattern access) {
super(direction, access);
}
@Override
public void open() throws UnknownHostException, IOException {
getTransportHandler().open();
}
@Override
public void close() throws IOException {
getTransportHandler().close();
}
@Override
public boolean hasNext() throws IOException {
return true;
}
@Override
public T getNext() throws IOException {
return getDataHandler().readData("data");
}
@Override
public void write(T object) throws IOException {
}
@Override
public IProtocolHandler<T> createInstance(ITransportDirection direction,
IAccessPattern access, Map<String, String> options,
IDataHandler<T> dataHandler, ITransferHandler<T> transfer) {
ExampleProtocolHandler<T> instance = new ExampleProtocolHandler<T>(direction,
access);
instance.setDataHandler(dataHandler);
instance.setTransfer(transfer);
return instance;
}
@Override
public String getName() {
return "Example";
}
@Override
public ITransportExchangePattern getExchangePattern() {
if (this.getDirection().equals(ITransportDirection.IN)) {
return ITransportExchangePattern.InOnly;
} else {
return ITransportExchangePattern.OutOnly;
}
}
@Override
public void onConnect(ITransportHandler caller) {
// TODO Auto-generated method stub
}
@Override
public void onDisonnect(ITransportHandler caller) {
// TODO Auto-generated method stub
}
@Override
public void process(ByteBuffer message) {
getTransfer().transfer(getDataHandler().readData(message));
}
} |
Scai