/// <summary> /// Sends a Packet. This method blocks execution of the current thread until the packet transmission in complete. /// </summary> /// <param name="packet">The <see cref="TransmitPacket"/> to be transmitted.</param> /// <param name="timeout">The timeout value (in milliseconds) for the transmission operation to complete successfully.</param> /// <param name="dueTime"> The amount of time to delay before starting the transmission, in milliseconds. /// Specify zero (0) to start the timer immediately. /// </param> /// <returns>The operation result.</returns> public Status Transmit(TransmitPacket packet, TimeSpan timeout, TimeSpan dueTime) { lock (_syncLock) { if (_initialized) { return((Status)TransmitNative(packet, timeout, dueTime)); } else { return(Status.ConfigurationError); } } }
/// <summary> /// Sends a Packet with blocking call. This method blocks execution of the current thread until the packet transmission in complete. /// </summary> /// <param name="packet">The <see cref="TransmitPacket"/> to be transmitted.</param> /// <returns>The operation result.</returns> public Status Transmit(TransmitPacket packet) { lock (_syncLock) { if (_initialized) { return((Status)TransmitNative(packet, Timeout.InfiniteTimeSpan, TimeSpan.Zero)); } else { return(Status.ConfigurationError); } } }
private extern byte TransmitNative(TransmitPacket packet, TimeSpan timeout, TimeSpan dueTime);
/// <summary> /// Sends a Packet. This method blocks execution of the current thread until the packet transmission in complete. /// </summary> /// <param name="packet">The <see cref="TransmitPacket"/> to be transmitted.</param> /// <param name="timeout">The timeout value for the transmission operation to complete successfully.</param> /// <param name="dueTime"> The amount of time to delay before starting the transmission.</param> /// <returns>The operation result.</returns> public Status Transmit(TransmitPacket packet, TimeSpan timeout) { return(Transmit(packet, timeout, TimeSpan.Zero)); }