Method | Description | |
---|---|---|
ConnectToServerOverRdma ( string clientIp, string serverIp, int port, AddressFamily ipFamily, uint nInboundEntries, uint nOutboundEntries, uint inboundReadLimit, uint inboundDataSize ) : NtStatus |
Connection to server over RDMA, use the default parameters
|
|
DeregisterBuffer ( |
deregister each memory region indicated by each SMBDirect Buffer Descriptor V1 structure with the underlying RDMA provider
|
|
Disconnect ( ) : void |
Disconnect
|
|
ManageCredits ( bool onlyCheck ) : int |
Managing Credits Prior to Sending
|
|
Negotiate ( SmbdVersion minVersion, SmbdVersion maxVersion, ushort creditsRequested, ushort receiveCreditMax, uint preferredSendSize, uint maxReceiveSize, uint maxFragmentedSize, |
SMBDirect Negotiate
|
|
PostReceive ( ) : NtStatus |
Post receive request
|
|
PostReceive ( uint size ) : NtStatus |
Post receive request
|
|
ReadRegisteredBuffer ( byte data, |
Read data from registered buffer
|
|
ReceiveDataTransferMessage ( System.TimeSpan timeout, |
receive SMBDirect data transfer message
|
|
ReceiveMessage ( System.TimeSpan timeout, byte &message ) : NtStatus |
receive SMBDirect message. If the fragmented message is sent as multiple segments from server, the method will reassemble the data before return.
|
|
RegisterBuffer ( uint length, SmbdBufferReadWrite flag, bool reversed, |
register the memory locations indicated by the buffer with the underlying RDMA provider
|
|
SendDataTransferMessage ( |
send SMBDirect data transfer message
|
|
SendDataTransferMessage ( ushort creditsRequested, ushort creditsGranted, SmbdDataTransfer_Flags flags, ushort reserved, uint remainingDataLength, uint dataOffset, uint dataLength, byte padding, byte buffer ) : NtStatus |
send SMBD data transfer message, for test case to control the transfer mannually
|
|
SendMessage ( byte message ) : NtStatus |
Upper layer requests that the SMBDirect Protocol sends a message. send SMBDirect message. In this function, the data will disassemble to multiple segments if the data size is greater than Connection.MaxSendSize.
|
|
Smaller ( uint value1, uint value2 ) : uint |
Return smaller one of value1 and value2
|
|
SmbdClient ( SmbdLogEvent logSmbdEvent = null ) : System |
constructor
|
|
SplitData2Segments ( byte message, uint segmentLength ) : List |
split fragmented message to multiple SMBDirect segments
|
|
WriteRegisteredBuffer ( byte data, |
Write data to registered buffer
|
Method | Description | |
---|---|---|
LogEvent ( string log ) : void |
public ConnectToServerOverRdma ( string clientIp, string serverIp, int port, AddressFamily ipFamily, uint nInboundEntries, uint nOutboundEntries, uint inboundReadLimit, uint inboundDataSize ) : NtStatus | ||
clientIp | string | Clinet IP address |
serverIp | string | Server IP address |
port | int | Port |
ipFamily | AddressFamily | IP Family |
nInboundEntries | uint | RDMA inbound entries |
nOutboundEntries | uint | RDMA outbound entries |
inboundReadLimit | uint | RDMA inbound read size |
inboundDataSize | uint | Max Size of RDMA inbound data |
return | NtStatus |
public DeregisterBuffer ( |
||
bufferDescriptor | Buffer Descriptor point to registered buffer | |
return | void |
public ManageCredits ( bool onlyCheck ) : int | ||
onlyCheck | bool | Only check the credit but not modify the parameters |
return | int |
public Negotiate ( SmbdVersion minVersion, SmbdVersion maxVersion, ushort creditsRequested, ushort receiveCreditMax, uint preferredSendSize, uint maxReceiveSize, uint maxFragmentedSize, |
||
minVersion | SmbdVersion | The minimum SMBDirect Protocol version supported by the sender |
maxVersion | SmbdVersion | The maximum SMBDirect Protocol version supported by the sender |
creditsRequested | ushort | The number of Send Credits requested of the receiver |
receiveCreditMax | ushort | Maximum of receive credits |
preferredSendSize | uint | The maximum number of bytes that the sender requests to transmit in a single message |
maxReceiveSize | uint | The maximum number of bytes that the sender can receive in a single message |
maxFragmentedSize | uint | The maximum number of upper-layer bytes that the sender can receive as the result of a sequence of fragmented Send operations |
smbdNegotiateResponse | SMBDirect Negotiate response | |
reserved | ushort | The sender SHOULD set this field to 0 and the receiver MUST ignore it on receipt |
return | NtStatus |
public PostReceive ( uint size ) : NtStatus | ||
size | uint | Size |
return | NtStatus |
public ReadRegisteredBuffer ( byte data, |
||
data | byte | |
bufferDescriptor | Buffer Descriptor point to registered buffer | |
return | NtStatus |
public ReceiveDataTransferMessage ( System.TimeSpan timeout, |
||
timeout | System.TimeSpan | |
dataTransferMessage | Received SMBDirect data transfer message | |
return | NtStatus |
public ReceiveMessage ( System.TimeSpan timeout, byte &message ) : NtStatus | ||
timeout | System.TimeSpan | |
message | byte | |
return | NtStatus |
public RegisterBuffer ( uint length, SmbdBufferReadWrite flag, bool reversed, |
||
length | uint | |
flag | SmbdBufferReadWrite | Read or Write flag |
reversed | bool | if it is true, little-endian and big-endian will be reversed in bufferDescriptor |
descriptor | Buffer Descriptor point to registered buffer | |
return | NtStatus |
public SendDataTransferMessage ( |
||
dataTransferMessage | SMBDirect data transfer message | |
return | NtStatus |
public SendDataTransferMessage ( ushort creditsRequested, ushort creditsGranted, SmbdDataTransfer_Flags flags, ushort reserved, uint remainingDataLength, uint dataOffset, uint dataLength, byte padding, byte buffer ) : NtStatus | ||
creditsRequested | ushort | The total number of Send Credits requested /// of the receiver, including any Send Credits already granted. /// |
creditsGranted | ushort | The incremental number of Send Credits /// granted by the sender. /// |
flags | SmbdDataTransfer_Flags | The flags indicating how the operation is to be processed. /// This field MUST be constructed by using any or none of the following values: /// SMB_DIRECT_RESPONSE_REQUESTED. The Flags field MUST be set to zero if no flag /// values are specified. /// |
reserved | ushort | The sender SHOULD set this field to 0 and the receiver /// MUST ignore it on receipt. /// |
remainingDataLength | uint | The amount of data, in bytes, remaining in a /// sequence of fragmented messages. If this value is 0x00000000, this message is /// the final message in the sequence. /// |
dataOffset | uint | The offset, in bytes, from the beginning of the SMBDirect /// header to the first byte of the message’s data payload. If no data payload /// is associated with this message, this value MUST be 0. This offset MUST /// be 8-byte aligned from the beginning of the message. /// |
dataLength | uint | The length, in bytes, of the message’s data payload. /// If no data payload is associated with this message, this value MUST be 0. /// |
padding | byte | Additional bytes for alignment |
buffer | byte | |
return | NtStatus |
public SendMessage ( byte message ) : NtStatus | ||
message | byte | data to send |
return | NtStatus |
public static Smaller ( uint value1, uint value2 ) : uint | ||
value1 | uint | |
value2 | uint | |
return | uint |
public SmbdClient ( SmbdLogEvent logSmbdEvent = null ) : System | ||
logSmbdEvent | SmbdLogEvent | Delegate to log SMBD event |
return | System |
public static SplitData2Segments ( byte message, uint segmentLength ) : List |
||
message | byte | Input data |
segmentLength | uint | length of each segment |
return | List |
public WriteRegisteredBuffer ( byte data, |
||
data | byte | |
bufferDescriptor | Buffer Descriptor point to registered buffer | |
return | NtStatus |