Esempio n. 1
0
        internal void Answer <TRequest, TReply>(TRequest value, AbstractAnswerable answerable, LetterOptions options, AnswerCallback <TRequest, TReply> callback)
        {
            ILetter letter      = CreateLetter(value, options | LetterOptions.Ack, answerable.ConversationId);
            var     outstanding = new DelegateOutstanding <TRequest, TReply>(this, value, callback);

            _outstandings.Add(answerable.ConversationId, outstanding);

            _socket.SendTo(letter, answerable.RemoteNodeId);
        }
Esempio n. 2
0
        public void Send <TRequest, TReply>(TRequest request, AnswerCallback <TRequest, TReply> callback, LetterOptions options = LetterOptions.None)
        {
            Guid    conversationId = Guid.NewGuid();
            ILetter letter         = CreateLetter(request, options, conversationId);
            var     outstanding    = new DelegateOutstanding <TRequest, TReply>(this, request, callback);

            _outstandings.Add(conversationId, outstanding);

            _socket.Send(letter);
        }