public AsyncContext(NngSocket nngSocket) { _nngSocket = nngSocket; _callback = OnCompleted; NativeMethods.nng_aio_alloc(out _nngAio, _callback, IntPtr.Zero).ThrowIfError(); Options = new AsyncOptions(_nngAio); }
public static string GetStringValue(NngSocket socket, string name) { NativeMethods.nng_socket_get_string(socket, name, out var valuePtr).ThrowIfError(); try { return(Marshal.PtrToStringAnsi(valuePtr)); } finally { NativeMethods.nng_strfree(valuePtr); } }
public void Dispose() { var errorCode = NativeMethods.nng_close(_nngSocket); if (errorCode == NngErrorCode.Success) { _nngSocket = default; _listeners.Clear(); // Listeners are implicitly closed when the socket they are associated with is closed _dialers.Clear(); // Dialers are implicitly closed when the socket they are associated with is closed return; } // todo: log error? _asyncSender.Dispose(); _asyncReceiver.Dispose(); }
public SocketReceiveBehavior(NngSocket nngSocket) { _nngSocket = nngSocket; }
public SocketReceiveAsyncBehavior(NngSocket nngSocket) { _asyncContext = new AsyncContext(nngSocket); }
public SocketSendAsyncBehavior(NngSocket nngSocket) { _asyncContext = new AsyncContext(nngSocket); }
public SocketSendBehavior(NngSocket nngSocket) { _nngSocket = nngSocket; }
public SocketOptions(NngSocket socket, AsyncOptions asyncSendOptions, AsyncOptions asyncReceiveOptions) { _socket = socket; _asyncSendOptions = asyncSendOptions; _asyncReceiveOptions = asyncReceiveOptions; }
internal static bool GetBoolValue(NngSocket socket, string name) { NativeMethods.nng_socket_get_bool(socket, name, out var value).ThrowIfError(); return(value); }
public static void SetTimeSpanValue(NngSocket socket, string name, in TimeSpan value)
public static TimeSpan GetTimeSpanValue(NngSocket socket, string name) { NativeMethods.nng_socket_get_ms(socket, name, out var value).ThrowIfError(); return(value.AsTimeSpan()); }
public static void SetStringValue(NngSocket socket, string name, string value) { NativeMethods.nng_socket_set_string(socket, name, value).ThrowIfError(); }
public static void SetInt32Value(NngSocket socket, string name, int value) { NativeMethods.nng_socket_set_int(socket, name, value).ThrowIfError(); }
public static int GetInt32Value(NngSocket socket, string name) { NativeMethods.nng_socket_get_int(socket, name, out var value).ThrowIfError(); return(value); }