Esempio n. 1
0
        public virtual async Task <M> AskAsync(M message, IMessageFactory <M> factory, TimeSpan?timeout = null, System.Threading.CancellationToken?cancellationToken = null)
        {
            var bytesMessageTask =
                cancellationToken.HasValue ?
                Actor.Ask <BytesMessage>(new BytesMessage(message.Bytes), timeout, cancellationToken.Value)
                :
                Actor.Ask <BytesMessage>(new BytesMessage(message.Bytes), timeout);

            return(await bytesMessageTask.ContinueWith <M>(task => factory.FromBytes(task.Result.Bytes)));
        }
Esempio n. 2
0
 /// <summary>
 ///     Reconstructs message data into <see cref="IIncommingMessage" />
 /// </summary>
 /// <param name="buffer"></param>
 /// <param name="peer"></param>
 /// <returns></returns>
 public static IIncommingMessage FromBytes(byte[] buffer, int start, NetPeer peer)
 {
     return(_factory.FromBytes(buffer, start, peer));
 }