Exemplo n.º 1
0
 def local2RemoteTime(self,local_time=None):
     """
     Converts a local time (sec.msec format) to the corresponding remote
     computer time, using the current offset and drift measures.
     """
     if local_time is None:
         local_time=Computer.currentSec()
     return self.getDrift()*local_time+self.getOffset()
Exemplo n.º 2
0
 def local2RemoteTime(self, local_time=None):
     """
     Converts a local time (sec.msec format) to the corresponding remote
     computer time, using the current offset and drift measures.
     """
     if local_time is None:
         local_time = Computer.currentSec()
     return self.getDrift() * local_time + self.getOffset()
Exemplo n.º 3
0
    def test_getTime(self):
        ta = Computer.currentSec()
        tb = Computer.currentTime()
        tc = Computer.getTime()
        tp = getTime()

        assert ta < tb < tc < tp
        assert tp - ta < 0.002
Exemplo n.º 4
0
    def sync(self):
        sync_count = self.sync_batch_size
        sync_data = [
            'SYNC_REQ',
        ]

        feed = self.feed
        unpack = self.unpack
        pack = self.pack

        recvfrom = self.sock.recvfrom
        rcvBufferLength = self._rcvBufferLength

        remote_address = self.remote_iohub_address
        sendto = self.sock.sendto

        min_delay = 1000.0
        min_local_time = 0.0
        min_remote_time = 0.0

        for s in xrange(sync_count):
            # send sync request
            sync_start = Computer.currentSec()
            sendto(pack(sync_data), remote_address)
            sync_start2 = Computer.currentSec()

            # get reply
            feed(recvfrom(rcvBufferLength)[0])
            sync_rep, remote_time = unpack()
            sync_end = Computer.currentSec()
            rtt = sync_end - (sync_start + sync_start2) / 2.0

            old_delay = min_delay
            min_delay = min(min_delay, rtt)

            if old_delay != min_delay:
                min_local_time = (sync_end + sync_start) / 2.0
                min_remote_time = remote_time

        return min_delay, min_local_time, min_remote_time
Exemplo n.º 5
0
    def sync(self):
        sync_count=self.sync_batch_size
        sync_data=['SYNC_REQ',]

        feed=self.feed
        unpack=self.unpack
        pack=self.pack

        recvfrom=self.sock.recvfrom
        rcvBufferLength=self._rcvBufferLength

        remote_address=self.remote_iohub_address
        sendto=self.sock.sendto

        min_delay=1000.0
        min_local_time=0.0
        min_remote_time=0.0

        for s in range(sync_count):
            # send sync request
            sync_start=Computer.currentSec()
            sendto(pack(sync_data),remote_address)
            sync_start2=Computer.currentSec()

            # get reply
            feed(recvfrom(rcvBufferLength)[0])
            sync_rep,remote_time=unpack()
            sync_end=Computer.currentSec()
            rtt=sync_end-(sync_start+sync_start2)/2.0

            old_delay=min_delay
            min_delay=min(min_delay,rtt)

            if old_delay!=min_delay:
                min_local_time=(sync_end+sync_start)/2.0
                min_remote_time=remote_time

        return min_delay, min_local_time, min_remote_time
Exemplo n.º 6
0
    def test_getTime(self):
        ta = Computer.currentSec()
        tb = Computer.currentTime()
        tc = Computer.getTime()
        tp = getTime()

        assert ta <= tb <= tc <= tp
        assert tp - ta < 0.002

        ta = getTime()
        tb = self.io.getTime()
        tc = self.io.getTime()
        tp = getTime()

        assert ta <= tb <= tc <= tp
        assert tp - ta < 0.01
Exemplo n.º 7
0
    def test_getTime(self):
        ta = Computer.currentSec()
        tb = Computer.currentTime()
        tc = Computer.getTime()
        tp = getTime()

        assert ta <= tb <= tc <= tp
        assert tp - ta < 0.002

        ta = getTime()
        tb = self.io.getTime()
        tc = self.io.getTime()
        tp = getTime()

        assert ta <= tb <= tc <= tp
        assert tp - ta < 0.01