public static byte[] GetBytes(long value) { byte[] buffer = new byte[8]; NetworkOrderBitsConverter.PutInt64(value, buffer); return(buffer); }
/// <summary> /// Transmit a status-signal over this socket. /// </summary> /// <param name="socket">the IOutgoingSocket to transmit on</param> /// <param name="status">a byte that contains the status signal to send</param> private static void Signal([NotNull] this IOutgoingSocket socket, byte status) { long signalValue = 0x7766554433221100L + status; Msg msg = new Msg(); msg.InitPool(8); NetworkOrderBitsConverter.PutInt64(signalValue, msg.Data); socket.Send(ref msg, false); msg.Close(); }
/// <summary> /// Attempt to transmit a status-signal over this socket. /// If signal cannot be sent immediately, return <c>false</c>. /// </summary> /// <param name="socket">the IOutgoingSocket to transmit on</param> /// <param name="status">a byte that contains the status signal to send</param> private static bool TrySignal([NotNull] this IOutgoingSocket socket, byte status) { long signalValue = 0x7766554433221100L + status; Msg msg = new Msg(); msg.InitPool(8); NetworkOrderBitsConverter.PutInt64(signalValue, msg.Data); if (!socket.TrySend(ref msg, TimeSpan.Zero, false)) { msg.Close(); return(false); } msg.Close(); return(true); }