Support #235

Updated by Madars over 6 years ago

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

<pre>
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);
}
</pre>

Back