public abstract class TargetFullFeatureStage extends TargetStage
TargetFullFeaturePhase.TargetStageconnection, session, settings, targetPhase| Constructor and Description |
|---|
TargetFullFeatureStage(TargetFullFeaturePhase targetFullFeaturePhase)
The abstract constructor.
|
| Modifier and Type | Method and Description |
|---|---|
protected static ProtocolDataUnit |
createFixedFormatErrorPdu(FieldPointerSenseKeySpecificData[] senseKeySpecificData,
AdditionalSenseCodeAndQualifier additionalSenseCodeAndQualifier,
int initiatorTaskTag,
int expectedDataTransferLength)
Creates a PDU with
FixedFormatSenseData that must be sent to the
initiator after receiving a Command Descriptor Block with an illegal
field. |
protected static ProtocolDataUnit |
createFixedFormatErrorPdu(FieldPointerSenseKeySpecificData[] senseKeySpecificData,
int initiatorTaskTag,
int expectedDataTransferLength)
Creates a PDU with
FixedFormatSenseData that must be sent to the
initiator after receiving a Command Descriptor Block with an illegal
field, which requires the the additional sense code
AdditionalSenseCodeAndQualifier.INVALID_FIELD_IN_CDB. |
protected static ProtocolDataUnit |
createScsiResponsePdu(SCSIStatus status,
int initiatorTaskTag,
int expectedDataTransferLength,
int responseDataSize)
Creates a SCSI Response PDU with a length zero data segment.
|
protected void |
sendResponse(int initiatorTaskTag,
int expectedDataTransferLength,
IResponseData responseData)
Sends a two byte sequence of a Data-In and a SCSI Response PDU with the
specified responseData payload to the initiator.
|
execute, getConnectionpublic TargetFullFeatureStage(TargetFullFeaturePhase targetFullFeaturePhase)
targetFullFeaturePhase - the phase this stage is a part ofprotected static final ProtocolDataUnit createFixedFormatErrorPdu(FieldPointerSenseKeySpecificData[] senseKeySpecificData, AdditionalSenseCodeAndQualifier additionalSenseCodeAndQualifier, int initiatorTaskTag, int expectedDataTransferLength)
FixedFormatSenseData that must be sent to the
initiator after receiving a Command Descriptor Block with an illegal
field.senseKeySpecificData - contains a list of all illegal fieldsadditionalSenseCodeAndQualifier - provides more specific information about the cause of the
check conditioninitiatorTaskTag - used by the initiator to identify the taskexpectedDataTransferLength - the amount of payload data expected by the initiator (i.e.
allocated buffer space)protected static final ProtocolDataUnit createFixedFormatErrorPdu(FieldPointerSenseKeySpecificData[] senseKeySpecificData, int initiatorTaskTag, int expectedDataTransferLength)
FixedFormatSenseData that must be sent to the
initiator after receiving a Command Descriptor Block with an illegal
field, which requires the the additional sense code
AdditionalSenseCodeAndQualifier.INVALID_FIELD_IN_CDB.senseKeySpecificData - contains a list of all illegal fieldsinitiatorTaskTag - used by the initiator to identify the taskexpectedDataTransferLength - the amount of payload data expected by the initiator (i.e.
allocated buffer space)protected static final ProtocolDataUnit createScsiResponsePdu(SCSIStatus status, int initiatorTaskTag, int expectedDataTransferLength, int responseDataSize)
SCSIStatus.GOOD which
do not require additional data to be
transfered, or for creating follow-up PDU with SCSIStatus.CHECK_CONDITION status sent after
Data-In PDUs with
sense data.status - the SCSI status of the taskinitiatorTaskTag - used by the initiator to identify the taskexpectedDataTransferLength - total amount of payload data in bytes expected by the
initiatorresponseDataSize - actual amount of payload data in bytes sent by the targetprotected final void sendResponse(int initiatorTaskTag,
int expectedDataTransferLength,
IResponseData responseData)
throws InterruptedException,
IOException,
InternetSCSIException
initiatorTaskTag - used by the initiator to identify the taskexpectedDataTransferLength - the total amount of payload data in bytes expected by the
initiator
The method might throw exceptions during PDU serialization and sending.
responseData - the data requested by the initiatorInterruptedExceptionIOExceptionInternetSCSIExceptionCopyright © 2012 University of Konstanz, Distributed Systems Group. All Rights Reserved.