public void writeElement()

in protonj2/src/main/java/org/apache/qpid/protonj2/codec/encoders/transport/FlowTypeEncoder.java [64:106]


    public void writeElement(Flow flow, int index, ProtonBuffer buffer, Encoder encoder, EncoderState state) {
        if (flow.hasElement(index)) {
            switch (index) {
                case 0:
                    writeCheckedUnsignedInteger(flow.getNextIncomingId(), buffer);
                    break;
                case 1:
                    writeCheckedUnsignedInteger(flow.getIncomingWindow(), buffer);
                    break;
                case 2:
                    writeCheckedUnsignedInteger(flow.getNextOutgoingId(), buffer);
                    break;
                case 3:
                    writeCheckedUnsignedInteger(flow.getOutgoingWindow(), buffer);
                    break;
                case 4:
                    writeCheckedUnsignedInteger(flow.getHandle(), buffer);
                    break;
                case 5:
                    writeCheckedUnsignedInteger(flow.getDeliveryCount(), buffer);
                    break;
                case 6:
                    writeCheckedUnsignedInteger(flow.getLinkCredit(), buffer);
                    break;
                case 7:
                    writeCheckedUnsignedInteger(flow.getAvailable(), buffer);
                    break;
                case 8:
                    buffer.writeByte(flow.getDrain() ? EncodingCodes.BOOLEAN_TRUE : EncodingCodes.BOOLEAN_FALSE);
                    break;
                case 9:
                    buffer.writeByte(flow.getEcho() ? EncodingCodes.BOOLEAN_TRUE : EncodingCodes.BOOLEAN_FALSE);
                    break;
                case 10:
                    encoder.writeMap(buffer, state, flow.getProperties());
                    break;
                default:
                    throw new IllegalArgumentException("Unknown Flow value index: " + index);
            }
        } else {
            buffer.writeByte(EncodingCodes.NULL);
        }
    }