summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/hashserv/__init__.py
diff options
context:
space:
mode:
authorJoshua Watt <JPEWhacker@gmail.com>2023-11-03 08:26:19 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-11-09 17:33:02 +0000
commit8f8501ed403dec27acbe780b936bc087fc5006d0 (patch)
tree60e6415075c7c71eacec23ca7dda53e4a324b12e /bitbake/lib/hashserv/__init__.py
parentf97b686884166dd77d1818e70615027c6ba8c348 (diff)
downloadpoky-8f8501ed403dec27acbe780b936bc087fc5006d0.tar.gz
bitbake: asyncrpc: Abstract sockets
Rewrites the asyncrpc client and server code to make it possible to have other transport backends that are not stream based (e.g. websockets which are message based). The connection handling classes are now shared between both the client and server to make it easier to implement new transport mechanisms (Bitbake rev: 2aaeae53696e4c2f13a169830c3b7089cbad6eca) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/hashserv/__init__.py')
-rw-r--r--bitbake/lib/hashserv/__init__.py21
1 files changed, 0 insertions, 21 deletions
diff --git a/bitbake/lib/hashserv/__init__.py b/bitbake/lib/hashserv/__init__.py
index 9cb3fd57a5..3a4018353f 100644
--- a/bitbake/lib/hashserv/__init__.py
+++ b/bitbake/lib/hashserv/__init__.py
@@ -15,13 +15,6 @@ UNIX_PREFIX = "unix://"
15ADDR_TYPE_UNIX = 0 15ADDR_TYPE_UNIX = 0
16ADDR_TYPE_TCP = 1 16ADDR_TYPE_TCP = 1
17 17
18# The Python async server defaults to a 64K receive buffer, so we hardcode our
19# maximum chunk size. It would be better if the client and server reported to
20# each other what the maximum chunk sizes were, but that will slow down the
21# connection setup with a round trip delay so I'd rather not do that unless it
22# is necessary
23DEFAULT_MAX_CHUNK = 32 * 1024
24
25UNIHASH_TABLE_DEFINITION = ( 18UNIHASH_TABLE_DEFINITION = (
26 ("method", "TEXT NOT NULL", "UNIQUE"), 19 ("method", "TEXT NOT NULL", "UNIQUE"),
27 ("taskhash", "TEXT NOT NULL", "UNIQUE"), 20 ("taskhash", "TEXT NOT NULL", "UNIQUE"),
@@ -102,20 +95,6 @@ def parse_address(addr):
102 return (ADDR_TYPE_TCP, (host, int(port))) 95 return (ADDR_TYPE_TCP, (host, int(port)))
103 96
104 97
105def chunkify(msg, max_chunk):
106 if len(msg) < max_chunk - 1:
107 yield ''.join((msg, "\n"))
108 else:
109 yield ''.join((json.dumps({
110 'chunk-stream': None
111 }), "\n"))
112
113 args = [iter(msg)] * (max_chunk - 1)
114 for m in map(''.join, itertools.zip_longest(*args, fillvalue='')):
115 yield ''.join(itertools.chain(m, "\n"))
116 yield "\n"
117
118
119def create_server(addr, dbname, *, sync=True, upstream=None, read_only=False): 98def create_server(addr, dbname, *, sync=True, upstream=None, read_only=False):
120 from . import server 99 from . import server
121 db = setup_database(dbname, sync=sync) 100 db = setup_database(dbname, sync=sync)