1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- using System;
- using System.Collections.Generic;
- using System.Text;
- namespace ISCSI.Client
- {
- public class PDUHelper
- {
- public static uint? GetStatSN(ISCSIPDU pdu)
- {
- if (pdu is NOPInPDU)
- {
- return ((NOPInPDU)pdu).StatSN;
- }
- else if (pdu is SCSIResponsePDU)
- {
- return ((SCSIResponsePDU)pdu).StatSN;
- }
- else if (pdu is LoginResponsePDU)
- {
- return ((LoginResponsePDU)pdu).StatSN;
- }
- else if (pdu is TextResponsePDU)
- {
- return ((TextResponsePDU)pdu).StatSN;
- }
- else if (pdu is SCSIDataInPDU && ((SCSIDataInPDU)pdu).StatusPresent)
- {
- return ((SCSIDataInPDU)pdu).StatSN;
- }
- else if (pdu is LogoutResponsePDU)
- {
- return ((LogoutResponsePDU)pdu).StatSN;
- }
- else if (pdu is ReadyToTransferPDU)
- {
- return ((ReadyToTransferPDU)pdu).StatSN;
- }
- else if (pdu is RejectPDU)
- {
- return ((RejectPDU)pdu).StatSN;
- }
- return null;
- }
- public static void SetExpStatSN(ISCSIPDU pdu, uint expStatSN)
- {
- if (pdu is NOPOutPDU)
- {
- ((NOPOutPDU)pdu).ExpStatSN = expStatSN;
- }
- else if (pdu is SCSICommandPDU)
- {
- ((SCSICommandPDU)pdu).ExpStatSN = expStatSN;
- }
- else if (pdu is LoginRequestPDU)
- {
- ((LoginRequestPDU)pdu).ExpStatSN = expStatSN;
- }
- else if (pdu is TextRequestPDU)
- {
- ((TextRequestPDU)pdu).ExpStatSN = expStatSN;
- }
- else if (pdu is SCSIDataOutPDU)
- {
- ((SCSIDataOutPDU)pdu).ExpStatSN = expStatSN;
- }
- else if (pdu is LogoutRequestPDU)
- {
- ((LogoutRequestPDU)pdu).ExpStatSN = expStatSN;
- }
- }
- }
- }
|