aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2018-06-17 19:31:46 +0100
committerHolger Freyther <holger@freyther.de>2018-06-25 20:27:41 +0000
commit05895a912d9aa39ea1d3672873d469a1b1faa5e9 (patch)
tree5680d049675f39ca24b4dd16ab40b20471988a02
parent99efe820e442fb413a7f9da98bd3666fec5a4b86 (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.py4
-rw-r--r--src/osmo_ms_driver/location_update_test.py2
-rw-r--r--src/osmo_ms_driver/lua/ms_support.lua1
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 = {}