Package jcifs.internal.smb2
Class ServerMessageBlock2Request<T extends ServerMessageBlock2Response>
- java.lang.Object
-
- jcifs.internal.smb2.ServerMessageBlock2
-
- jcifs.internal.smb2.ServerMessageBlock2Request<T>
-
- Type Parameters:
T
- request type
- All Implemented Interfaces:
CommonServerMessageBlock
,CommonServerMessageBlockRequest
,Request<T>
,Message
,Request
- Direct Known Subclasses:
Smb2ChangeNotifyRequest
,Smb2CloseRequest
,Smb2CreateRequest
,Smb2EchoRequest
,Smb2FlushRequest
,Smb2IoctlRequest
,Smb2LockRequest
,Smb2LogoffRequest
,Smb2NegotiateRequest
,Smb2QueryDirectoryRequest
,Smb2QueryInfoRequest
,Smb2ReadRequest
,Smb2SessionSetupRequest
,Smb2SetInfoRequest
,Smb2TreeConnectRequest
,Smb2TreeDisconnectRequest
,Smb2WriteRequest
public abstract class ServerMessageBlock2Request<T extends ServerMessageBlock2Response> extends ServerMessageBlock2 implements CommonServerMessageBlockRequest, Request<T>
- Author:
- mbechler
-
-
Field Summary
-
Fields inherited from class jcifs.internal.smb2.ServerMessageBlock2
SMB2_CANCEL, SMB2_CHANGE_NOTIFY, SMB2_CLOSE, SMB2_CREATE, SMB2_ECHO, SMB2_FLAGS_ASYNC_COMMAND, SMB2_FLAGS_DFS_OPERATIONS, SMB2_FLAGS_PRIORITY_MASK, SMB2_FLAGS_RELATED_OPERATIONS, SMB2_FLAGS_REPLAY_OPERATION, SMB2_FLAGS_SERVER_TO_REDIR, SMB2_FLAGS_SIGNED, SMB2_FLUSH, SMB2_IOCTL, SMB2_LOCK, SMB2_LOGOFF, SMB2_NEGOTIATE, SMB2_OPLOCK_BREAK, SMB2_QUERY_DIRECTORY, SMB2_QUERY_INFO, SMB2_READ, SMB2_SESSION_SETUP, SMB2_SET_INFO, SMB2_TREE_CONNECT, SMB2_TREE_DISCONNECT, SMB2_WRITE
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
ServerMessageBlock2Request(Configuration config)
ServerMessageBlock2Request(Configuration config, int command)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description boolean
allowChain(CommonServerMessageBlockRequest next)
CommonServerMessageBlockRequest
createCancel()
protected abstract T
createResponse(CIFSContext tc, ServerMessageBlock2Request<T> req)
int
encode(byte[] dst, int dstIndex)
int
getCreditCost()
ServerMessageBlock2Request<?>
getNext()
Integer
getOverrideTimeout()
T
getResponse()
ServerMessageBlock2Request<T>
ignoreDisconnect()
T
initResponse(CIFSContext tc)
boolean
isCancel()
boolean
isResponseAsync()
void
setNext(ServerMessageBlock2Request<?> next)
void
setOverrideTimeout(Integer overrideTimeout)
void
setRequestCredits(int credits)
void
setResponse(CommonServerMessageBlockResponse msg)
void
setTid(int t)
CommonServerMessageBlockRequest
split()
-
Methods inherited from class jcifs.internal.smb2.ServerMessageBlock2
addFlags, chain, clearFlags, decode, decode, equals, getAsyncId, getCommand, getConfig, getCredit, getCreditCharge, getDigest, getErrorContextCount, getErrorData, getFlags, getHeaderStart, getLength, getMid, getNextCommandOffset, getRawPayload, getSessionId, getStatus, getTreeId, hashCode, haveResponse, isAsync, isErrorResponseStatus, isRetainPayload, pad8, readBytesWireFormat, readErrorResponse, readHeaderWireFormat, reset, retainPayload, setAsyncId, setCommand, setCredit, setDigest, setExtendedSecurity, setMid, setNext, setRawPayload, setReadSize, setSessionId, setTreeId, setUid, size8, size8, toString, writeBytesWireFormat, writeHeaderWireFormat
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface jcifs.internal.CommonServerMessageBlock
decode, getCommand, getDigest, getMid, reset, setCommand, setDigest, setExtendedSecurity, setMid, setSessionId, setUid
-
Methods inherited from interface jcifs.internal.CommonServerMessageBlockRequest
size
-
Methods inherited from interface jcifs.util.transport.Message
getRawPayload, isRetainPayload, retainPayload, setRawPayload
-
-
-
-
Constructor Detail
-
ServerMessageBlock2Request
protected ServerMessageBlock2Request(Configuration config)
- Parameters:
config
-
-
ServerMessageBlock2Request
public ServerMessageBlock2Request(Configuration config, int command)
- Parameters:
config
-command
-
-
-
Method Detail
-
ignoreDisconnect
public ServerMessageBlock2Request<T> ignoreDisconnect()
- Specified by:
ignoreDisconnect
in interfaceRequest<T extends ServerMessageBlock2Response>
- Returns:
- this request
-
getNext
public ServerMessageBlock2Request<?> getNext()
- Specified by:
getNext
in interfaceCommonServerMessageBlockRequest
- Specified by:
getNext
in interfaceRequest
- Overrides:
getNext
in classServerMessageBlock2
- Returns:
- next chained message
-
isCancel
public boolean isCancel()
- Specified by:
isCancel
in interfaceRequest
- Returns:
- whether this is a cancel request
- See Also:
Request.isCancel()
-
isResponseAsync
public boolean isResponseAsync()
- Specified by:
isResponseAsync
in interfaceCommonServerMessageBlockRequest
- Returns:
- request was handled asynchronously
- See Also:
CommonServerMessageBlockRequest.isResponseAsync()
-
allowChain
public boolean allowChain(CommonServerMessageBlockRequest next)
- Specified by:
allowChain
in interfaceCommonServerMessageBlockRequest
- Returns:
- whether to allow chaining
- See Also:
CommonServerMessageBlockRequest.allowChain(jcifs.internal.CommonServerMessageBlockRequest)
-
createCancel
public CommonServerMessageBlockRequest createCancel()
- Specified by:
createCancel
in interfaceCommonServerMessageBlockRequest
- Returns:
- create cancel request
- See Also:
CommonServerMessageBlockRequest.createCancel()
-
split
public CommonServerMessageBlockRequest split()
- Specified by:
split
in interfaceCommonServerMessageBlockRequest
- Returns:
- the following message
- See Also:
CommonServerMessageBlockRequest.split()
-
setNext
public void setNext(ServerMessageBlock2Request<?> next)
- Parameters:
next
-
-
getCreditCost
public int getCreditCost()
- Specified by:
getCreditCost
in interfaceRequest
- Returns:
- number of credits this request requires
- See Also:
Request.getCreditCost()
-
setRequestCredits
public void setRequestCredits(int credits)
- Specified by:
setRequestCredits
in interfaceRequest
- See Also:
Request.setRequestCredits(int)
-
getOverrideTimeout
public final Integer getOverrideTimeout()
- Specified by:
getOverrideTimeout
in interfaceCommonServerMessageBlockRequest
- Returns:
- custom response timeout for this request
- See Also:
CommonServerMessageBlockRequest.getOverrideTimeout()
-
setOverrideTimeout
public final void setOverrideTimeout(Integer overrideTimeout)
- Parameters:
overrideTimeout
- the overrideTimeout to set
-
initResponse
public T initResponse(CIFSContext tc)
- Specified by:
initResponse
in interfaceRequest<T extends ServerMessageBlock2Response>
- Returns:
- create response
-
setTid
public void setTid(int t)
- Specified by:
setTid
in interfaceCommonServerMessageBlockRequest
- See Also:
CommonServerMessageBlockRequest.setTid(int)
-
encode
public int encode(byte[] dst, int dstIndex)
- Specified by:
encode
in interfaceCommonServerMessageBlock
- Overrides:
encode
in classServerMessageBlock2
- Returns:
- message length
- See Also:
ServerMessageBlock2.encode(byte[], int)
-
getResponse
public T getResponse()
- Specified by:
getResponse
in interfaceCommonServerMessageBlock
- Specified by:
getResponse
in interfaceRequest<T extends ServerMessageBlock2Response>
- Specified by:
getResponse
in interfaceRequest
- Overrides:
getResponse
in classServerMessageBlock2
- Returns:
- the response
- See Also:
ServerMessageBlock2.getResponse()
-
createResponse
protected abstract T createResponse(CIFSContext tc, ServerMessageBlock2Request<T> req)
- Parameters:
config2
-- Returns:
-
setResponse
public final void setResponse(CommonServerMessageBlockResponse msg)
- Specified by:
setResponse
in interfaceCommonServerMessageBlock
- Overrides:
setResponse
in classServerMessageBlock2
- See Also:
ServerMessageBlock2.setResponse(jcifs.internal.CommonServerMessageBlockResponse)
-
-