Akka.IO.ByteStringBuilder.PutInt C# (CSharp) Метод

PutInt() публичный Метод

public PutInt ( int x, ByteOrder byteOrder ) : ByteStringBuilder
x int
byteOrder ByteOrder
Результат ByteStringBuilder
        public ByteStringBuilder PutInt(int x, ByteOrder byteOrder)
        {
            return FillArray(4)((target, offset) =>
            {
                if (byteOrder == ByteOrder.BigEndian)
                {
                    target[offset + 0] = (byte) (x >> 24);
                    target[offset + 1] = (byte) (x >> 16);
                    target[offset + 2] = (byte) (x >>  8);
                    target[offset + 3] = (byte) (x >>  0);
                }
                else
                {
                    target[offset + 0] = (byte)(x >>  0);
                    target[offset + 1] = (byte)(x >>  8);
                    target[offset + 2] = (byte)(x >> 16);
                    target[offset + 3] = (byte)(x >> 24);
                }
            });
        }

Usage Example

Пример #1
0
 private void HandleWrite(object message)
 {
     if (message is ByteString)
     {
         var bs = message as ByteString;
         var buffer = ByteString.Unsafe.GetBuffer(bs);
         var builder = new ByteStringBuilder();
         builder.PutInt(buffer.Length, ByteOrder.BigEndian);
         builder.PutBytes(buffer);
         _connection.Tell(Tcp.Write.Create(builder.Result()));
     }
     else Unhandled(message);
 }