diff options
author | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2018-06-17 19:31:46 +0100 |
---|---|---|
committer | Holger Freyther <holger@freyther.de> | 2018-06-25 20:27:41 +0000 |
commit | 05895a912d9aa39ea1d3672873d469a1b1faa5e9 (patch) | |
tree | 5680d049675f39ca24b4dd16ab40b20471988a02 | |
parent | 99efe820e442fb413a7f9da98bd3666fec5a4b86 (diff) |
ms: Use the new API to pass credentials to the event server
We are using the "autobind" feature of Linux to get a special
socket address. This allows us to have roughly 2^20 clients on
the system.
Change-Id: Ie9b9ac6267f40345baf7dbb3becaecf264a5df5f
-rw-r--r-- | src/osmo_ms_driver/event_server.py | 4 | ||||
-rw-r--r-- | src/osmo_ms_driver/location_update_test.py | 2 | ||||
-rw-r--r-- | src/osmo_ms_driver/lua/ms_support.lua | 1 |
3 files changed, 4 insertions, 3 deletions
diff --git a/src/osmo_ms_driver/event_server.py b/src/osmo_ms_driver/event_server.py index 6b0232b..b0f699d 100644 --- a/src/osmo_ms_driver/event_server.py +++ b/src/osmo_ms_driver/event_server.py @@ -27,7 +27,7 @@ class EventServer(log.Origin): def read_cb(self, obj, mask): # addresss doesn't give us the remote but currently we don't # need it. - (data, address) = self._server.recvfrom(4096) + data, ancdata, flags, addr = self._server.recvmsg(4096, 4096) now = time.clock_gettime(time.CLOCK_MONOTONIC) for handler in self._handlers: - handler(data, now) + handler(data, addr, now) diff --git a/src/osmo_ms_driver/location_update_test.py b/src/osmo_ms_driver/location_update_test.py index 2d661ca..0d27d0e 100644 --- a/src/osmo_ms_driver/location_update_test.py +++ b/src/osmo_ms_driver/location_update_test.py @@ -167,7 +167,7 @@ class MassUpdateLocationTest(log.Origin): for launcher in self._started: launcher.kill() - def handle_msg(self, _data, time): + def handle_msg(self, _data, addr, time): import json data = json.loads(_data.decode()) diff --git a/src/osmo_ms_driver/lua/ms_support.lua b/src/osmo_ms_driver/lua/ms_support.lua index 817a564..6490bec 100644 --- a/src/osmo_ms_driver/lua/ms_support.lua +++ b/src/osmo_ms_driver/lua/ms_support.lua @@ -11,6 +11,7 @@ local mod = {} function mod.register(ms, path) g_ms = ms + osmo.unix_passcred(g_c:getfd()) g_c:connect(path) local event = {} |