INetworkProvider Interface
NuGet: GHIElectronics.TinyCLR.Networking
Assembly: GHIElectronics.TinyCLR.Networking
Namespace: GHIElectronics.TinyCLR.Networking
Defines the low-level operations a network stack must implement to back sockets.
public interface INetworkProvider
Methods
Create(AddressFamily addressFamily, SocketType socketType, ProtocolType protocolType)
int Create(AddressFamily addressFamily, SocketType socketType, ProtocolType protocolType)
Creates a new socket and returns its handle.
Returns int
Close(int socket)
void Close(int socket)
Closes the specified socket.
Shutdown(int socket, SocketShutdown how)
void Shutdown(int socket, SocketShutdown how)
Disables send and/or receive operations on the socket.
Bind(int socket, SocketAddress address)
void Bind(int socket, SocketAddress address)
Binds the socket to the specified local address.
Listen(int socket, int backlog)
void Listen(int socket, int backlog)
Places the socket in a listening state with the specified backlog.
Accept(int socket)
int Accept(int socket)
Accepts a pending connection and returns the new socket handle.
Returns int
Connect(int socket, SocketAddress address)
void Connect(int socket, SocketAddress address)
Connects the socket to the specified remote address.
Available(int socket)
int Available(int socket)
Returns the number of bytes available to read from the socket.
Returns int
Poll(int socket, int microSeconds, SelectMode mode)
bool Poll(int socket, int microSeconds, SelectMode mode)
Polls the socket for the specified status within the given timeout.
Returns bool
Send(int socket, byte[] buffer, int offset, int count, SocketFlags flags)
int Send(int socket, byte[] buffer, int offset, int count, SocketFlags flags)
Sends data on a connected socket and returns the number of bytes sent.
Returns int
Receive(int socket, byte[] buffer, int offset, int count, SocketFlags flags)
int Receive(int socket, byte[] buffer, int offset, int count, SocketFlags flags)
Receives data from a connected socket and returns the number of bytes read.
Returns int
SendTo(int socket, byte[] buffer, int offset, int count, SocketFlags flags, SocketAddress address)
int SendTo(int socket, byte[] buffer, int offset, int count, SocketFlags flags, SocketAddress address)
Sends data to the specified address and returns the number of bytes sent.
Returns int
ReceiveFrom(int socket, byte[] buffer, int offset, int count, SocketFlags flags, ref SocketAddress address)
int ReceiveFrom(int socket, byte[] buffer, int offset, int count, SocketFlags flags, ref SocketAddress address)
Receives data and reports the sender's address, returning the number of bytes read.
Returns int
GetRemoteAddress(int socket, out SocketAddress address)
void GetRemoteAddress(int socket, out SocketAddress address)
Gets the remote address the socket is connected to.
GetLocalAddress(int socket, out SocketAddress address)
void GetLocalAddress(int socket, out SocketAddress address)
Gets the local address the socket is bound to.
GetOption(int socket, SocketOptionLevel optionLevel, SocketOptionName optionName, byte[] optionValue)
void GetOption(int socket, SocketOptionLevel optionLevel, SocketOptionName optionName, byte[] optionValue)
Reads the value of the specified socket option.
SetOption(int socket, SocketOptionLevel optionLevel, SocketOptionName optionName, byte[] optionValue)
void SetOption(int socket, SocketOptionLevel optionLevel, SocketOptionName optionName, byte[] optionValue)
Sets the value of the specified socket option.
AuthenticateAsClient(int socketHandle, string targetHost, X509Certificate caCertificate, X509Certificate clientCertificate, SslProtocols sslProtocols, SslVerification sslVerification)
int AuthenticateAsClient(int socketHandle, string targetHost, X509Certificate caCertificate, X509Certificate clientCertificate, SslProtocols sslProtocols, SslVerification sslVerification)
Performs the client side of an SSL/TLS handshake on the socket.
Returns int
AuthenticateAsServer(int socketHandle, X509Certificate certificate, SslProtocols sslProtocols)
int AuthenticateAsServer(int socketHandle, X509Certificate certificate, SslProtocols sslProtocols)
Performs the server side of an SSL/TLS handshake on the socket.
Returns int
SecureRead(int handle, byte[] buffer, int offset, int count)
int SecureRead(int handle, byte[] buffer, int offset, int count)
Reads decrypted data from a secured socket.
Returns int
SecureWrite(int handle, byte[] buffer, int offset, int count)
int SecureWrite(int handle, byte[] buffer, int offset, int count)
Writes data to be encrypted on a secured socket.
Returns int
GetHostByName(string name, out string canonicalName, out SocketAddress[] addresses)
void GetHostByName(string name, out string canonicalName, out SocketAddress[] addresses)
Resolves a host name to its canonical name and addresses.