Examples of Ready2TransferParser


Examples of org.jscsi.parser.r2t.Ready2TransferParser

            case NOP_OUT :
                return new NOPOutParser(protocolDataUnit);
            case NOP_IN :
                return new NOPInParser(protocolDataUnit);
            case R2T :
                return new Ready2TransferParser(protocolDataUnit);
            case REJECT :
                return new RejectParser(protocolDataUnit);
            case SNACK_REQUEST :
                return new SNACKRequestParser(protocolDataUnit);
            case SCSI_TM_REQUEST :
View Full Code Here

Examples of org.jscsi.parser.r2t.Ready2TransferParser

        final ProtocolDataUnit protocolDataUnit = connection.receive();
        LOGGER.trace("1" + protocolDataUnit);
        if (protocolDataUnit.getBasicHeaderSegment().getParser() instanceof Ready2TransferParser) {
            LOGGER.trace("2");
            final Ready2TransferParser parser = (Ready2TransferParser) protocolDataUnit.getBasicHeaderSegment().getParser();

            final int targetTransferTag = parser.getTargetTransferTag();
            if (LOGGER.isDebugEnabled()) {
                LOGGER.debug("R2T has TTT set to " + targetTransferTag);
            }

            final int desiredDataTransferLength = parser.getDesiredDataTransferLength();
            if (desiredDataTransferLength > connection.getSettingAsInt(OperationalTextKey.MAX_BURST_LENGTH)) {
                if (LOGGER.isErrorEnabled()) {
                    LOGGER.error("MaxBurstLength limit is exceed.");
                }
                throw new InternetSCSIException("MaxBurstLength limit is exceed.");
            }

            connection.nextState(new WriteSecondBurstState(connection, iterator, targetTransferTag, desiredDataTransferLength, dataSequenceNumber, bufferOffset));
            super.stateFollowing = true;
            // return true;
            return;
        } else if (protocolDataUnit.getBasicHeaderSegment().getParser() instanceof SCSIResponseParser) {
            final SCSIResponseParser parser = (SCSIResponseParser) protocolDataUnit.getBasicHeaderSegment().getParser();

            if (!iterator.hasNext() && parser.getStatus() == SCSIStatus.GOOD) {
                connection.getSession().incrementInitiatorTaskTag();
                // return false;
                super.stateFollowing = false;
                return;
            }
View Full Code Here

Examples of org.jscsi.parser.r2t.Ready2TransferParser

    }

    public static final ProtocolDataUnit createReadyToTransferPdu (long logicalUnitNumber, int initiatorTaskTag, int targetTransferTag, int readyToTransferSequenceNumber, int bufferOffset, int desiredDataTransferLength) {
        final ProtocolDataUnit pdu = factory.create(false, true, OperationCode.R2T, "None", "None");
        final BasicHeaderSegment bhs = pdu.getBasicHeaderSegment();
        final Ready2TransferParser parser = (Ready2TransferParser) bhs.getParser();
        parser.setLogicalUnitNumber(logicalUnitNumber);
        bhs.setInitiatorTaskTag(initiatorTaskTag);
        parser.setTargetTransferTag(targetTransferTag);
        parser.setReady2TransferSequenceNumber(readyToTransferSequenceNumber);
        parser.setBufferOffset(bufferOffset);
        parser.setDesiredDataTransferLength(desiredDataTransferLength);
        return pdu;
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.