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