<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<meta content="text/html; charset=UTF-8">
<style type="text/css" style="">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
<div dir="ltr">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Calibri,Helvetica,sans-serif">
<p>Hi all,</p>
<p><br>
</p>
<p>aside from the current senders of #eventMillisecondClock in the Trunk image, I wonder whether we would like to keep this possibility open in general. For instance, you could use this value to compare the time of events from different VM- and other image-based sources
 such as incoming network requests ... This is just a vague guess, what do you think?</p>
<p><br>
</p>
<p>With regard to existing dependencies, if we don't really need this selector, we could surely deprecate it and write a fallback to use primitive 240 instead, couldn't we?</p>
<p><br>
</p>
<p>Best,</p>
<p>Christoph</p>
<div id="x_Signature">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:rgb(0,0,0); font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<div name="x_divtagdefaultwrapper" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:; margin:0">
<div><font size="2" color="#808080"></font></div>
</div>
</div>
</div>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>Von:</b> Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von Chris Muller <asqueaker@gmail.com><br>
<b>Gesendet:</b> Samstag, 12. September 2020 02:35:44<br>
<b>An:</b> The general-purpose Squeak developers list<br>
<b>Betreff:</b> Re: [squeak-dev] Time>>eventMillisecondClock and event timestamps</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">I don't know the answer to those questions, but in checking its<br>
senders in my image, I did notice a couple by RFB-Server, which is a<br>
pretty important external package.  Whatever answer is arrived at<br>
would be nice if it involves keeping RFB in a functioning state for<br>
the community (and hopefully eventually included in the base image).<br>
<br>
Best,<br>
  Chris<br>
<br>
On Fri, Sep 11, 2020 at 4:54 PM David T. Lewis <lewis@mail.msen.com> wrote:<br>
><br>
> Christoph has fixed a bug in event timestamps on the Windows VM. Background<br>
> is at <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/518">https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/518</a>.<br>
><br>
> This led us to a question about Time>>eventMillisecondClock. To summarize:<br>
><br>
> Events are delivered to the image by the VM, and processed in the image<br>
> as e.g. MorphicEvent. Each event has a timeStamp that is an integer number<br>
> of milliseconds since some arbitrary starting point. The actual time basis<br>
> (starting point) of those timestamps is not important, just as long as they<br>
> are consistent.<br>
><br>
> In the Windows VM, the event timeStamps are derived from the Windows event<br>
> system, and are in milliseconds relative to the time that the Windows system<br>
> was started. Other VMs obtain their event time stamps differently, but<br>
> normally through ioMSecs() in the VM.<br>
><br>
> Thus, for any VM, the events must have internally consistent time stamps,<br>
> but the timestamps may or may not be aligned with ioMSecs() in the VM.<br>
><br>
> All good so far, but then Christoph pointed out this in the image:<br>
><br>
> Time>>eventMillisecondClock<br>
>         "In order to make certain event handling code work (cf MouseEvent>asMouseMove) we need access<br>
>         to the tick kept by ioMSecs() "<br>
>         "Time eventMillisecondClock"<br>
>         <primitive: 135><br>
>         ^0<br>
><br>
> This is being used in multiple places in the image, and it explicitly<br>
> assumes that event timestamps are relative to ioMSecs() in the VM which<br>
> is not the case on Windows.<br>
><br>
> This leads me to ask three questions:<br>
><br>
> 1) Does #eventMillisecondClock need to exist? It looks like it might be<br>
> a kludge, if so could we make it go away?<br>
><br>
> 2) If the eventMillisecondClock method does need to exist, should it be changed<br>
> to retrieve a millisecond value that is aligned with that of the events?<br>
><br>
> 3) If not 2) then do we need to change the Windows VM to somehow use event<br>
> timestamps that match eventMillisecondClock?<br>
><br>
> Dave<br>
><br>
><br>
><br>
<br>
</div>
</span></font>
</body>
</html>