Support #235

Feature #328: Enduro/X Version 6.0 master task

Queue runner for bridge processes

Added by Madars over 6 years ago. Updated over 5 years ago.

Status:ClosedStart date:10/17/2017
Priority:Normal (Code 4)Due date:
Assignee:-% Done:

100%

Category:-
Target version:-

Description

When incoming to services are on full queues, the messages gets enqueued to memory, but they are not completed (queue is not run).

exprivate int br_process_error(char *buf, int len, int err, in_msg_t* from_q, int pack_type)
{
    long rcode = TPESVCERR;

    if (err==ENOENT)
    {
        rcode = TPENOENT;
    }

    /* So this is initial call */
    if (NULL==from_q)
    {
        /* TODO !!! Implement queue runner! If error is EAGAIN, then enqueue the message */
        if (EAGAIN==err)
        {
            /* Put stuff in queue */
            br_add_to_q(buf, len, pack_type);
        }
        else
        {
            /* TODO: Ignore the error or send error back - TPNOENT probably (if this is request) */
            br_generate_error_to_net(buf, len, pack_type, rcode);
        }

History

#1 Updated by Madars over 6 years ago

  • Description updated (diff)

#2 Updated by Madars over 5 years ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100
  • Parent task set to #328

#3 Updated by Madars over 5 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF