protected SocketBase(Context Context, int BufferSize, SocketType Type) { NativeHandler = LibZmq.zmq_socket(Context, (int)Type); bufferSize = BufferSize; buffer = Marshal.AllocHGlobal(bufferSize); }
public virtual byte[] Read() { int length = LibZmq.zmq_buffer_recv(NativeHandler, buffer, bufferSize, 0); if (length == 0) { return(null); } byte[] buf = new byte[length]; Marshal.Copy(buffer, buf, 0, length); return(buf); }
public int Poll(PollItem[] pollItems, int timeoutMilliseconds) { return(LibZmq.zmq_poll(pollItems, pollItems.Length, timeoutMilliseconds * LibZmq.PollTimeoutRatio)); }
public Context() { NativeHandler = LibZmq.zmq_ctx_new(); }
public override void Dispose() { LibZmq.zmq_ctx_destroy(NativeHandler); }
public virtual void Write(byte[] Buffer) { Marshal.Copy(Buffer, 0, buffer, Buffer.Length); LibZmq.zmq_buffer_send(NativeHandler, buffer, Buffer.Length, 0); }
public virtual void Connect(string Address) { LibZmq.zmq_connect(NativeHandler, Address); }
public virtual void Bind(string Address) { LibZmq.zmq_bind(NativeHandler, Address); }
public override void Dispose() { Marshal.FreeHGlobal(buffer); LibZmq.zmq_close(NativeHandler); }