File size: 469 Bytes
5e27996
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from dataclasses import dataclass
import multiprocessing as mp


@dataclass
class Document:
    doc: str = ""
    doc_id: int = 0
    num_chunks: int = 0

class ProtocolConstants:

    @staticmethod
    def expect(q: mp.Queue, constant):
        k, v = q.get()
        assert k == constant, f"expect {constant} but got {k}"
        return v
    
    @staticmethod
    def send(q: mp.Queue, constant, data=None, block=True):
        q.put((constant, data), block=block)