private Task ProcessChatSendMessages(Job job)
        {
            var receiver = TargetDevice.Invoke();
            var text     = $"{Ticker?.ElapsedTicks}";

            var answer = new Job
            {
                Id          = Guid.NewGuid(),
                ReferenceId = job.Id,
                Type        = "Job",
                Name        = "ChatSendMessage",

                CreatedBy = DeviceId.FullId,
                CreatedAt = DateTimeOffset.Now,
                Priority  = MessagePriority.Normal,
                Immediate = true,
                Status    = JobStatus.Created,
                Resource  = new Dictionary <string, string>()
                {
                    { "subject", receiver.FullId },
                    { "text", text },
                    { "submit", "" }
                }
            };

            SendingQueue.Enqueue(answer);
            Logger.Debug($"Sending Message from {DeviceId.FullId} to {receiver.FullId} with Guid: {job.Id}");
            ++MessagesSent;
            return(Task.CompletedTask);
        }
Beispiel #2
0
        private bool TrySend(IList <ArraySegment <byte> > datas, out bool reTry)
        {
            reTry = false;
            SendingQueue mSendingQueue = this._readlySendingQueue;

            if (mSendingQueue == null)
            {
                return(false);
            }
            if (!mSendingQueue.Enqueue(datas))
            {
                reTry = true;
                return(false);
            }
            return(this.PreSend());
        }
        private Task ProcessChatConfirmMessages(Job job)
        {
            var answer = new Job
            {
                Id          = Guid.NewGuid(),
                ReferenceId = job.Id,
                Type        = "Job",
                Name        = "ChatConfirmMessage",

                CreatedBy = DeviceId.FullId,
                CreatedAt = DateTimeOffset.Now,
                Priority  = MessagePriority.Normal,
                Immediate = true,
                Status    = JobStatus.Created,
                Resource  = job.Resource,
            };

            answer.Resource["submit"] = "";

            SendingQueue.Enqueue(answer);
            Logger.Debug($"Confirmed Message from {job.CreatedBy} as {DeviceId.FullId} with Guid: {job.Id}");
            ++MessagesConfirmed;
            return(Task.CompletedTask);
        }