Exemple #1
0
        /// <summary>
        /// Forwards a single-part or all parts of a multi-part message to a destination socket.
        /// </summary>
        /// <remarks>
        /// This method is useful for implementing devices as data is not marshalled into managed code; it
        /// is forwarded directly in the unmanaged layer. As an example, this method could forward all traffic
        /// from a device's front-end socket to its backend socket.
        /// </remarks>
        /// <param name="destination">A <see cref="ZmqSocket"/> that will receive the incoming message(s).</param>
        public void Forward(ZmqSocket destination)
        {
            if (destination == null)
            {
                throw new ArgumentNullException("destination");
            }

            if (_socketProxy.Forward(destination.SocketHandle) == -1)
            {
                throw new ZmqSocketException(ErrorProxy.GetLastError());
            }
        }