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 protectedServerMessageBlock2Request(Configuration config)ServerMessageBlock2Request(Configuration config, int command)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description booleanallowChain(CommonServerMessageBlockRequest next)CommonServerMessageBlockRequestcreateCancel()protected abstract TcreateResponse(CIFSContext tc, ServerMessageBlock2Request<T> req)intencode(byte[] dst, int dstIndex)intgetCreditCost()ServerMessageBlock2Request<?>getNext()IntegergetOverrideTimeout()TgetResponse()ServerMessageBlock2Request<T>ignoreDisconnect()TinitResponse(CIFSContext tc)booleanisCancel()booleanisResponseAsync()voidsetNext(ServerMessageBlock2Request<?> next)voidsetOverrideTimeout(Integer overrideTimeout)voidsetRequestCredits(int credits)voidsetResponse(CommonServerMessageBlockResponse msg)voidsetTid(int t)CommonServerMessageBlockRequestsplit()-
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:
ignoreDisconnectin interfaceRequest<T extends ServerMessageBlock2Response>- Returns:
- this request
-
getNext
public ServerMessageBlock2Request<?> getNext()
- Specified by:
getNextin interfaceCommonServerMessageBlockRequest- Specified by:
getNextin interfaceRequest- Overrides:
getNextin classServerMessageBlock2- Returns:
- next chained message
-
isCancel
public boolean isCancel()
- Specified by:
isCancelin interfaceRequest- Returns:
- whether this is a cancel request
- See Also:
Request.isCancel()
-
isResponseAsync
public boolean isResponseAsync()
- Specified by:
isResponseAsyncin interfaceCommonServerMessageBlockRequest- Returns:
- request was handled asynchronously
- See Also:
CommonServerMessageBlockRequest.isResponseAsync()
-
allowChain
public boolean allowChain(CommonServerMessageBlockRequest next)
- Specified by:
allowChainin interfaceCommonServerMessageBlockRequest- Returns:
- whether to allow chaining
- See Also:
CommonServerMessageBlockRequest.allowChain(jcifs.internal.CommonServerMessageBlockRequest)
-
createCancel
public CommonServerMessageBlockRequest createCancel()
- Specified by:
createCancelin interfaceCommonServerMessageBlockRequest- Returns:
- create cancel request
- See Also:
CommonServerMessageBlockRequest.createCancel()
-
split
public CommonServerMessageBlockRequest split()
- Specified by:
splitin interfaceCommonServerMessageBlockRequest- Returns:
- the following message
- See Also:
CommonServerMessageBlockRequest.split()
-
setNext
public void setNext(ServerMessageBlock2Request<?> next)
- Parameters:
next-
-
getCreditCost
public int getCreditCost()
- Specified by:
getCreditCostin interfaceRequest- Returns:
- number of credits this request requires
- See Also:
Request.getCreditCost()
-
setRequestCredits
public void setRequestCredits(int credits)
- Specified by:
setRequestCreditsin interfaceRequest- See Also:
Request.setRequestCredits(int)
-
getOverrideTimeout
public final Integer getOverrideTimeout()
- Specified by:
getOverrideTimeoutin 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:
initResponsein interfaceRequest<T extends ServerMessageBlock2Response>- Returns:
- create response
-
setTid
public void setTid(int t)
- Specified by:
setTidin interfaceCommonServerMessageBlockRequest- See Also:
CommonServerMessageBlockRequest.setTid(int)
-
encode
public int encode(byte[] dst, int dstIndex)- Specified by:
encodein interfaceCommonServerMessageBlock- Overrides:
encodein classServerMessageBlock2- Returns:
- message length
- See Also:
ServerMessageBlock2.encode(byte[], int)
-
getResponse
public T getResponse()
- Specified by:
getResponsein interfaceCommonServerMessageBlock- Specified by:
getResponsein interfaceRequest<T extends ServerMessageBlock2Response>- Specified by:
getResponsein interfaceRequest- Overrides:
getResponsein 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:
setResponsein interfaceCommonServerMessageBlock- Overrides:
setResponsein classServerMessageBlock2- See Also:
ServerMessageBlock2.setResponse(jcifs.internal.CommonServerMessageBlockResponse)
-
-