public interface Connection extends Callable<Void>
Each Connection.TargetConnection runs in a separate Thread. The conceptually most important parts of
its behavior can be likened to a finite state machine (FSM), in which the most basic states (stages) are
grouped into more general states (phases). Commands send by the initiator are carried out in these stages,
usually without transitioning to a different phase. A connection's current phase determines which stages
are reachable, limiting the kind of commands the initiator may issue at any given moment.
| Modifier and Type | Interface and Description |
|---|---|
static class |
Connection.TargetConnection |
| Modifier and Type | Method and Description |
|---|---|
ConnectionSettingsNegotiator |
getConnectionSettingsNegotiator() |
byte[] |
getDataInArray(int pLength) |
Settings |
getSettings() |
SerialArithmeticNumber |
getStatusSequenceNumber() |
TargetSession |
getTargetSession() |
void |
initializeConnectionSettingsNegotiator(SessionSettingsNegotiator pSettingsNegotiator) |
boolean |
isLeadingConnection() |
ProtocolDataUnit |
receivePdu() |
void |
sendPdu(ProtocolDataUnit pDataUnit) |
void |
setSession(TargetSession pSession) |
void |
setStatusSequenceNumber(int pStatusSequenceNumber) |
Settings getSettings()
SerialArithmeticNumber getStatusSequenceNumber()
boolean isLeadingConnection()
ProtocolDataUnit receivePdu() throws DigestException, InternetSCSIException, IOException, SettingsException
void sendPdu(ProtocolDataUnit pDataUnit) throws InterruptedException, IOException, InternetSCSIException
ConnectionSettingsNegotiator getConnectionSettingsNegotiator()
void setSession(TargetSession pSession)
TargetSession getTargetSession()
void setStatusSequenceNumber(int pStatusSequenceNumber)
void initializeConnectionSettingsNegotiator(SessionSettingsNegotiator pSettingsNegotiator)
byte[] getDataInArray(int pLength)
Copyright © 2012 University of Konstanz, Distributed Systems Group. All Rights Reserved.