package org.dcache.chimera.nfsv41.mover;
import com.google.common.net.InetAddresses;
import java.net.InetSocketAddress;
import diskCacheV111.vehicles.IpProtocolInfo;
import org.dcache.chimera.nfs.v4.xdr.stateid4;
public class NFS4ProtocolInfo implements IpProtocolInfo {
private static final long serialVersionUID = -2283394435195441798L;
private static final String _protocolName = "NFS4";
private static final int _minor = 1;
private static final int _major = 4;
private final stateid4 _stateId;
private final InetSocketAddress _socketAddress;
private final byte[] _fh;
public NFS4ProtocolInfo(InetSocketAddress clientSocketAddress, stateid4 stateId, byte[] fh) {
_stateId = stateId;
_socketAddress = clientSocketAddress;
_fh = fh;
}
//
// the ProtocolInfo interface
//
@Override
public String getProtocol() {
return _protocolName;
}
@Override
public int getMinorVersion() {
return _minor;
}
@Override
public int getMajorVersion() {
return _major;
}
@Override
public String getVersionString() {
return _protocolName + "-" + _major + "." + _minor;
}
public boolean isFileCheckRequired() {
return false;
}
public stateid4 stateId() {
return _stateId;
}
public byte[] getNfsFileHandle() {
return _fh;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getVersionString()).append(":")
.append(InetAddresses.toAddrString(_socketAddress.getAddress()))
.append(':')
.append(_socketAddress.getPort());
return sb.toString();
}
@Override
public InetSocketAddress getSocketAddress() {
return _socketAddress;
}
}