from dynalab_core.protocols.packets.data import ValueDescriptor from dynalab_core.protocols.packets.handshake import SignalDescriptor def process( a: ValueDescriptor, b: ValueDescriptor, r: SignalDescriptor ) -> ValueDescriptor: val = ValueDescriptor( signal_id=r.id, value=a.value * b.value, timestamp=max(a.timestamp, b.timestamp) ) return val