[jira] [Commented] (PROTON-985) Modify pn_transport_tick to explicitly use a monotonic clock, not wall clock time

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (PROTON-985) Modify pn_transport_tick to explicitly use a monotonic clock, not wall clock time

JIRA jira@apache.org

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

Ken Giusti commented on PROTON-985:
-----------------------------------

True.  It would probably be best to create an alternative API call since monotonic clocks have no relation to EPOCH based timestamps since mixing the two would result in disaster.  We'd have to be extra careful not to compare the tick time vs pn_i_now() for this reason.


> Modify pn_transport_tick to explicitly use a monotonic clock, not wall clock time
> ---------------------------------------------------------------------------------
>
>                 Key: PROTON-985
>                 URL: https://issues.apache.org/jira/browse/PROTON-985
>             Project: Qpid Proton
>          Issue Type: Improvement
>          Components: proton-c
>    Affects Versions: 0.10
>            Reporter: Ken Giusti
>            Assignee: Ken Giusti
>             Fix For: proton-c-0.19.0
>
>
> The timestamp argument to pn_transport_tick is a pn_timestamp_t.  pn_timestamp_t implies real time (wall clock) in that it's expressed as a time value based on epoch.
> As seen in QPID-6698, using a real time value for that argument can lead to problems if the real time is adjusted (eg.  timezone, daylight savings, drift).
> Instead, pn_transport_tick should be passed a monotonic clock source - one that does not reflect changes in real time.
> All documentation and examples should be updated accordingly.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]