C# 클래스 Microsoft.Protocols.TestTools.StackSdk.FileAccessService.Smbd.SmbdConnectionEndpoint

The implementation-dependent representation used to access the RDMA connection.
상속: IDisposable
파일 보기 프로젝트 열기: Microsoft/WindowsProtocolTestSuites

공개 메소드들

메소드 설명
ConnectToServerOverRdma ( String localIpAddress, String remoteIpAddress, UInt16 port, AddressFamily ipFamily ) : NtStatus

establish connection over RDMA

DeregisterMemoryWindow ( RdmaBufferDescriptorV1 bufferDescriptor ) : void

Deregister memory window

Disconnect ( ) : void

Disconnect

Dispose ( ) : void
GetRequestResult ( System.TimeSpan timeout, RequestType type ) : SmbdRequestResult

Get result of request

ListenConnection ( String localIpAddress, ushort port, AddressFamily ipFamily ) : NtStatus

listen and wait for peer connect

PostReceive ( uint bufferSize ) : NtStatus

Post Receive request

ReadMemoryWindow ( byte data, RdmaBufferDescriptorV1 bufferDescriptor ) : NtStatus

Read data from memory window

ReceiveData ( System.TimeSpan timeout, byte &data ) : NtStatus

Receive data over RDMA

RegisterMemoryWindow ( uint size, RdmaOperationReadWriteFlag flag, bool reversed, RdmaBufferDescriptorV1 &bufferDescriptor ) : NtStatus

Register memory windows

SendData ( byte data ) : NtStatus

Send data over RDMA

SmbdConnectionEndpoint ( uint inboundEntries, uint outboundEntries, uint inboundSegment, uint outboundSegment, uint inboundReadLimit, uint outboundReadLimit, uint inboundDataSize, SmbdLogEvent logEvent = null ) : System

SmbdEndpoint constructor will load RDMA providers and initialize default connection values.

WaitDisconnect ( System.TimeSpan timeout ) : void

Wait until network is disconnected, using a TimeSpan to specify the time interval.

WriteMemoryWindow ( byte data, RdmaBufferDescriptorV1 bufferDescriptor ) : NtStatus

Write data to memory window

비공개 메소드들

메소드 설명
CompleteConnect ( ) : void

Complete the work of connection

LogEvent ( string str ) : void

log event

NotifyCallback ( Object stateInfo ) : void

Notify callback

NotifyDisconnectCallBack ( Object stateInfo ) : void

notify disconnect

OpenAdapter ( RdmaProviderInfo providers, string localIpAddress, AddressFamily ipFamily, SmbdLogEvent logEvent ) : RdmaAdapter

Open adapter with local IP address

OutputAddressInfoSupportedByProvider ( RdmaProviderInfo providerInfo, SmbdLogEvent logEvent ) : void

output all addresses which are supported by the provider

메소드 상세

ConnectToServerOverRdma() 공개 메소드

establish connection over RDMA
public ConnectToServerOverRdma ( String localIpAddress, String remoteIpAddress, UInt16 port, AddressFamily ipFamily ) : NtStatus
localIpAddress String local IP address
remoteIpAddress String remote IP address
port System.UInt16 port
ipFamily AddressFamily IP Family
리턴 NtStatus

DeregisterMemoryWindow() 공개 메소드

Deregister memory window
public DeregisterMemoryWindow ( RdmaBufferDescriptorV1 bufferDescriptor ) : void
bufferDescriptor RdmaBufferDescriptorV1 Buffer Descriptor point to memory windows
리턴 void

Disconnect() 공개 메소드

Disconnect
public Disconnect ( ) : void
리턴 void

Dispose() 공개 메소드

public Dispose ( ) : void
리턴 void

GetRequestResult() 공개 메소드

Get result of request
public GetRequestResult ( System.TimeSpan timeout, RequestType type ) : SmbdRequestResult
timeout System.TimeSpan
type RequestType
리턴 SmbdRequestResult

ListenConnection() 공개 메소드

listen and wait for peer connect
public ListenConnection ( String localIpAddress, ushort port, AddressFamily ipFamily ) : NtStatus
localIpAddress String
port ushort
ipFamily AddressFamily IP Family IPv4 or IPv6
리턴 NtStatus

PostReceive() 공개 메소드

Post Receive request
public PostReceive ( uint bufferSize ) : NtStatus
bufferSize uint
리턴 NtStatus

ReadMemoryWindow() 공개 메소드

Read data from memory window
public ReadMemoryWindow ( byte data, RdmaBufferDescriptorV1 bufferDescriptor ) : NtStatus
data byte
bufferDescriptor RdmaBufferDescriptorV1 Buffer Descriptor point to memory windows
리턴 NtStatus

ReceiveData() 공개 메소드

Receive data over RDMA
public ReceiveData ( System.TimeSpan timeout, byte &data ) : NtStatus
timeout System.TimeSpan
data byte
리턴 NtStatus

RegisterMemoryWindow() 공개 메소드

Register memory windows
public RegisterMemoryWindow ( uint size, RdmaOperationReadWriteFlag flag, bool reversed, RdmaBufferDescriptorV1 &bufferDescriptor ) : NtStatus
size uint Size of memory to register
flag RdmaOperationReadWriteFlag
reversed bool if it is true, little-endian and big-endian will be reversed in bufferDescriptor
bufferDescriptor RdmaBufferDescriptorV1 Buffer Descriptor point to memory windows
리턴 NtStatus

SendData() 공개 메소드

Send data over RDMA
public SendData ( byte data ) : NtStatus
data byte
리턴 NtStatus

SmbdConnectionEndpoint() 공개 메소드

SmbdEndpoint constructor will load RDMA providers and initialize default connection values.
public SmbdConnectionEndpoint ( uint inboundEntries, uint outboundEntries, uint inboundSegment, uint outboundSegment, uint inboundReadLimit, uint outboundReadLimit, uint inboundDataSize, SmbdLogEvent logEvent = null ) : System
inboundEntries uint maximum number of outstanding Receive requests.
outboundEntries uint maximum number of outstanding Send, SendAndInvalidate /// , Bind, Invalidate, Read, and Write requests. ///
inboundSegment uint inbound segments limit
outboundSegment uint outbound segments limit
inboundReadLimit uint maximum inbound read limit for the local Network /// Direct adapter. This value can be zero if you do not support ///
outboundReadLimit uint
inboundDataSize uint Max Size of RDMA inbound data
logEvent SmbdLogEvent Delegate to log SMBD event
리턴 System

WaitDisconnect() 공개 메소드

Wait until network is disconnected, using a TimeSpan to specify the time interval.
public WaitDisconnect ( System.TimeSpan timeout ) : void
timeout System.TimeSpan
리턴 void

WriteMemoryWindow() 공개 메소드

Write data to memory window
public WriteMemoryWindow ( byte data, RdmaBufferDescriptorV1 bufferDescriptor ) : NtStatus
data byte
bufferDescriptor RdmaBufferDescriptorV1 Buffer Descriptor point to memory windows
리턴 NtStatus