| from dataclasses import dataclass | |
| import multiprocessing as mp | |
| class Document: | |
| doc: str = "" | |
| doc_id: int = 0 | |
| num_chunks: int = 0 | |
| class ProtocolConstants: | |
| def expect(q: mp.Queue, constant): | |
| k, v = q.get() | |
| assert k == constant, f"expect {constant} but got {k}" | |
| return v | |
| def send(q: mp.Queue, constant, data=None, block=True): | |
| q.put((constant, data), block=block) | |