@Override public void serialize(ErrorMessage message, ByteBuf outBuffer) { ByteBufUtils.writeOFHeader(MESSAGE_TYPE, message, outBuffer, EncodeConstants.EMPTY_LENGTH); outBuffer.writeShort(message.getType()); outBuffer.writeShort(message.getCode()); byte[] data = message.getData(); if (data != null) { outBuffer.writeBytes(data); } ByteBufUtils.updateOFHeaderLength(outBuffer); } }
/** * @param message error message * @param errorType error type * @param node reference to node, that sent the error message * @return translated error message of general type (OF-1.0) */ @Override public org.opendaylight.yang.gen.v1.urn.opendaylight.flow.errors.rev131116.ErrorMessage getGranularNodeErrors(ErrorMessage message, ErrorType errorType, NodeRef node){ NodeErrorNotificationBuilder nodeErrBuilder = new NodeErrorNotificationBuilder(); nodeErrBuilder.setTransactionId(new TransactionId(BigInteger.valueOf(message.getXid()))); nodeErrBuilder.setType(errorType); nodeErrBuilder.setCode(message.getCode()); nodeErrBuilder.setNode(node); if (message.getData() != null) { nodeErrBuilder.setData(new String(message.getData())); } return nodeErrBuilder.build(); }
@Override public List<DataObject> translate(SwitchConnectionDistinguisher cookie, SessionContext sc, OfHeader msg) { if (msg instanceof ErrorMessage) { ErrorMessage message = (ErrorMessage) msg; List<DataObject> list = new CopyOnWriteArrayList<DataObject>(); if (LOG.isDebugEnabled()) { String hexData = "n/a"; if (message.getData() != null) { hexData = ByteUtil.bytesToHexstring(message.getData(), " "); } LOG.debug(" Error Message received: type={}[{}], code={}[{}], data=[{}] ", message.getType(), message.getTypeString(), message.getCode(), message.getCodeString(), hexData); } // TODO -- Augmentation is not handled ErrorType type = decodeErrorType(message.getType()); NodeRef node = new NodeRef( InventoryDataServiceUtil.identifierFromDatapathId( sc.getFeatures().getDatapathId())); list.add(getGranularNodeErrors(message, type, node)); return list; } else { LOG.error("Message is not of Error Message "); return Collections.emptyList(); } }
builder.setCode(message.getCode()); builder.setNode(node); if (message.getData() != null) { builder.setData(new String(message.getData())); builder.setCode(message.getCode()); builder.setNode(node); if (message.getData() != null) { builder.setData(new String(message.getData())); builder.setCode(message.getCode()); builder.setNode(node); if (message.getData() != null) { builder.setData(new String(message.getData())); builder.setCode(message.getCode()); builder.setNode(node); if (message.getData() != null) { builder.setData(new String(message.getData())); builder.setCode(message.getCode()); builder.setNode(node); if (message.getData() != null) { builder.setData(new String(message.getData())); builder.setCode(message.getCode()); builder.setNode(node); if (message.getData() != null) { builder.setData(new String(message.getData()));