xdas.io.asn.ZMQSubscriber#
- class xdas.io.asn.ZMQSubscriber(address)[source]#
Iterator that pulls
DataArraychunks from a live ASN ZMQ publisher.- Parameters:
address (str) – ZMQ address of the publisher (e.g.
"tcp://localhost:5555").
- __init__(address)[source]#
Initialize a ZMQStream object.
- Parameters:
address (str) – The address to connect to.
Examples
>>> import time >>> import threading
>>> import xdas as xd >>> from xdas.io.asn import ZMQSubscriber
>>> port = xd.io.get_free_port() >>> address = f"tcp://localhost:{port}" >>> publisher = ZMQPublisher(address)
>>> da = xd.synthetics.dummy() >>> chunks = xd.split(da, 10)
>>> def publish(): ... for chunk in chunks: ... time.sleep(0.001) # so that the subscriber can connect in time ... publisher.submit(chunk) >>> threading.Thread(target=publish).start()
>>> subscriber = ZMQSubscriber(address) >>> for nchunk in range(10): ... chunk = next(subscriber) ... # do something with the chunk
Methods
__init__(address)Initialize a ZMQStream object.