def _send_accum_trace(self, device_uuid):
        """Send whatever accumulated tracing data we have for the device."""

        if device_uuid not in self._connections:
            self._logger.debug("Dropping trace data for device without an active connection, uuid=0x%X", device_uuid)
            return

        conn_data = self._connections[device_uuid]

        trace = conn_data['trace_accum']

        if len(trace) > 0:
            slug = self._build_device_slug(device_uuid)
            tracing_topic = self.topics.prefix + 'devices/{}/data/tracing'.format(slug)

            data = {'type': 'notification', 'operation': 'trace'}
            data['trace'] = binascii.hexlify(trace)
            data['trace_origin'] = device_uuid

            self._logger.debug('Publishing trace: (topic=%s)', tracing_topic)
            self.client.publish(tracing_topic, data)

        conn_data['trace_scheduled'] = False
        conn_data['last_trace'] = monotonic()
        conn_data['trace_accum'] = bytes()
def _send_accum_trace ( self , device_uuid ) : if device_uuid not in self . _connections : self . _logger . debug ( "Dropping trace data for device without an active connection, uuid=0x%X" , device_uuid ) return conn_data = self . _connections [ device_uuid ] trace = conn_data [ 'trace_accum' ] if len ( trace ) > 0 : slug = self . _build_device_slug ( device_uuid ) tracing_topic = self . topics . prefix + 'devices/{}/data/tracing' . format ( slug ) data = { 'type' : 'notification' , 'operation' : 'trace' } data [ 'trace' ] = binascii . hexlify ( trace ) data [ 'trace_origin' ] = device_uuid self . _logger . debug ( 'Publishing trace: (topic=%s)' , tracing_topic ) self . client . publish ( tracing_topic , data ) conn_data [ 'trace_scheduled' ] = False conn_data [ 'last_trace' ] = monotonic ( ) conn_data [ 'trace_accum' ] = bytes ( )
Send whatever accumulated tracing data we have for the device.