Akka.IO.ByteString.Create C# (CSharp) Метод

Create() приватный статический Метод

private static Create ( ByteString1 b, ByteStrings bs ) : ByteString
b ByteString1
bs ByteStrings
Результат ByteString
        private static ByteString Create(ByteString1 b, ByteStrings bs)
        {
            switch (Compare(b, bs))
            {
                case 3:
                    return new ByteStrings(new LinkedList<ByteString1>(bs.Items).AddFirst(b).List.ToArray(),
                        bs.Count + b.Count);
                case 2:
                    return bs;
                case 1:
                    return b;
                case 0:
                    return Empty;
            }
            throw new ArgumentOutOfRangeException();
        }

Usage Example

Пример #1
0
        private void DoReceive(ChannelRegistration registration, IActorRef handler)
        {
            Action <int, ByteBuffer> innerReceive = null;

            innerReceive = (readsLeft, buffer) =>
            {
                buffer.Clear();
                buffer.Limit(_udp.Setting.DirectBufferSize);

                var sender = Channel.Receive(buffer);
                if (sender != null)
                {
                    buffer.Flip();
                    handler.Tell(new Udp.Received(ByteString.Create(buffer), sender));
                    if (readsLeft > 0)
                    {
                        innerReceive(readsLeft - 1, buffer);
                    }
                }
            };

            var buffr = _udp.BufferPool.Acquire();

            try
            {
                innerReceive(_udp.Setting.BatchReceiveLimit, buffr);
            }
            finally
            {
                _udp.BufferPool.Release(buffr);
                registration.EnableInterest(SocketAsyncOperation.Receive);
            }
        }
All Usage Examples Of Akka.IO.ByteString::Create