@Override public void run() { LOG.debug("echo request received: " + echoRequestMessage.getXid()); EchoReplyInputBuilder builder = new EchoReplyInputBuilder(); builder.setVersion(echoRequestMessage.getVersion()); builder.setXid(echoRequestMessage.getXid()); builder.setData(echoRequestMessage.getData()); getConnectionAdapter().echoReply(builder.build()); } }).start();
@Override public void serialize(EchoRequestMessage message, ByteBuf outBuffer) { ByteBufUtils.writeOFHeader(MESSAGE_TYPE, message, outBuffer, EncodeConstants.EMPTY_LENGTH); byte[] data = message.getData(); if (data != null) { outBuffer.writeBytes(data); } ByteBufUtils.updateOFHeaderLength(outBuffer); }
@Override public void onEchoRequestMessage(EchoRequestMessage arg0) { BigInteger datapathId = this.connectionRegistry.getDatapathID(this.switchConnection); if (datapathId == null) { EchoReplyInputBuilder builder = new EchoReplyInputBuilder(); builder.setVersion(arg0.getVersion()); builder.setXid(arg0.getXid() + 1L); builder.setData(arg0.getData()); this.switchConnection.echoReply(builder.build()); connectionHandler.sendGetFeaturesOuputToCore(arg0.getVersion(), 0, switchConnection); } else { shimRelay.sendOpenFlowMessageToCore(coreConnector, arg0, arg0.getVersion(), arg0.getXid(), datapathId.longValue(), 0); } }
/** * Method immediately response on Echo message. * * @param message incoming Echo message from device */ void onEchoRequest(final EchoRequestMessage message) { final EchoReplyInput reply = new EchoReplyInputBuilder().setData(message.getData()) .setVersion(message.getVersion()).setXid(message.getXid()).build(); parent.getChannel().writeAndFlush(makeMessageListenerWrapper(reply)); }
EchoInputBuilder builder = new EchoInputBuilder(); EchoRequestMessage echoRequestMessage = (EchoRequestMessage) msg; if (echoRequestMessage.getData() != null) builder.setData(echoRequestMessage.getData()); builder.setVersion(echoRequestMessage.getVersion()); builder.setXid(echoRequestMessage.getXid()); Future<RpcResult<EchoOutput>> reply = connectionAdapter.echo(builder.build()); sendResponseToCore(reply, coreConnector, ofVersion, echoRequestMessage.getXid(), datapathId, moduleId);