summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/bb/asyncrpc/client.py23
-rw-r--r--bitbake/lib/hashserv/__init__.py27
2 files changed, 24 insertions, 26 deletions
diff --git a/bitbake/lib/bb/asyncrpc/client.py b/bitbake/lib/bb/asyncrpc/client.py
index 29a5ab76aa..a350b4fb12 100644
--- a/bitbake/lib/bb/asyncrpc/client.py
+++ b/bitbake/lib/bb/asyncrpc/client.py
@@ -10,11 +10,34 @@ import json
10import os 10import os
11import socket 11import socket
12import sys 12import sys
13import re
13import contextlib 14import contextlib
14from threading import Thread 15from threading import Thread
15from .connection import StreamConnection, WebsocketConnection, DEFAULT_MAX_CHUNK 16from .connection import StreamConnection, WebsocketConnection, DEFAULT_MAX_CHUNK
16from .exceptions import ConnectionClosedError, InvokeError 17from .exceptions import ConnectionClosedError, InvokeError
17 18
19UNIX_PREFIX = "unix://"
20WS_PREFIX = "ws://"
21WSS_PREFIX = "wss://"
22
23ADDR_TYPE_UNIX = 0
24ADDR_TYPE_TCP = 1
25ADDR_TYPE_WS = 2
26
27def parse_address(addr):
28 if addr.startswith(UNIX_PREFIX):
29 return (ADDR_TYPE_UNIX, (addr[len(UNIX_PREFIX) :],))
30 elif addr.startswith(WS_PREFIX) or addr.startswith(WSS_PREFIX):
31 return (ADDR_TYPE_WS, (addr,))
32 else:
33 m = re.match(r"\[(?P<host>[^\]]*)\]:(?P<port>\d+)$", addr)
34 if m is not None:
35 host = m.group("host")
36 port = m.group("port")
37 else:
38 host, port = addr.split(":")
39
40 return (ADDR_TYPE_TCP, (host, int(port)))
18 41
19class AsyncClient(object): 42class AsyncClient(object):
20 def __init__( 43 def __init__(
diff --git a/bitbake/lib/hashserv/__init__.py b/bitbake/lib/hashserv/__init__.py
index 552a33278f..74367eb6b4 100644
--- a/bitbake/lib/hashserv/__init__.py
+++ b/bitbake/lib/hashserv/__init__.py
@@ -5,39 +5,14 @@
5 5
6import asyncio 6import asyncio
7from contextlib import closing 7from contextlib import closing
8import re
9import itertools 8import itertools
10import json 9import json
11from collections import namedtuple 10from collections import namedtuple
12from urllib.parse import urlparse 11from urllib.parse import urlparse
13 12from bb.asyncrpc.client import parse_address, ADDR_TYPE_UNIX, ADDR_TYPE_WS
14UNIX_PREFIX = "unix://"
15WS_PREFIX = "ws://"
16WSS_PREFIX = "wss://"
17
18ADDR_TYPE_UNIX = 0
19ADDR_TYPE_TCP = 1
20ADDR_TYPE_WS = 2
21 13
22User = namedtuple("User", ("username", "permissions")) 14User = namedtuple("User", ("username", "permissions"))
23 15
24
25def parse_address(addr):
26 if addr.startswith(UNIX_PREFIX):
27 return (ADDR_TYPE_UNIX, (addr[len(UNIX_PREFIX) :],))
28 elif addr.startswith(WS_PREFIX) or addr.startswith(WSS_PREFIX):
29 return (ADDR_TYPE_WS, (addr,))
30 else:
31 m = re.match(r"\[(?P<host>[^\]]*)\]:(?P<port>\d+)$", addr)
32 if m is not None:
33 host = m.group("host")
34 port = m.group("port")
35 else:
36 host, port = addr.split(":")
37
38 return (ADDR_TYPE_TCP, (host, int(port)))
39
40
41def create_server( 16def create_server(
42 addr, 17 addr,
43 dbname, 18 dbname,