You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Alan Conway (JIRA)" <ji...@apache.org> on 2018/07/13 12:40:00 UTC

[jira] [Commented] (PROTON-1496) C epoll proactor needs better timer implementation for connections

    [ https://issues.apache.org/jira/browse/PROTON-1496?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16542995#comment-16542995 ] 

Alan Conway commented on PROTON-1496:
-------------------------------------

The libuv and ruby implementations use the select/poll timeout parameter. Each time select/poll is entered with a timeout reflecting the minimum tick/timeout of all known tasks, so no separate timers are required.

However this works well because both those implementations do their polling in a single thread that can safely examine all the tasks current pending IO, and there is only ever a single poll() call to set a timeout on. This would require moreĀ  thought for a multi-threaded poller, and may not be the best approach - but it is worth considering as a possibility.

> C epoll proactor needs better timer implementation for connections
> ------------------------------------------------------------------
>
>                 Key: PROTON-1496
>                 URL: https://issues.apache.org/jira/browse/PROTON-1496
>             Project: Qpid Proton
>          Issue Type: Improvement
>          Components: proton-c
>    Affects Versions: proton-c-0.18.0
>         Environment: Linux environments with epoll support
>            Reporter: Cliff Jansen
>            Assignee: Alan Conway
>            Priority: Major
>
> The epoll proactor allocates a timerfd per connection.  This is a convenience for the initial implementation and may surprise some applications running into system limits on file descriptors twice as fast as expected.
> The timer is used for heartbeats.  It should be possible to write a per-proactor heartbeat timer that is shared among the connections



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org