jsoncomm: transparently handle huge messages via fds
The existing jsoncomm is a work of beautiy. For very big arguments however the used `SOCK_SEQPACKET` hits the limitations of the kernel network buffer size (see also [0]). This lead to various workarounds in #824,#1331,#1836 where parts of the request are encoded as part of the json method call and parts are done via a side-channel via fd-passing. This commit changes the code so that the fd channel is automatically and transparently created and the workarounds are removed. A test is added that ensures that very big messages can be passed. [0] https://github.com/osbuild/osbuild/pull/1833
This commit is contained in:
parent
d67fa48c17
commit
0abdfb9041
6 changed files with 130 additions and 87 deletions
|
|
@ -210,7 +210,7 @@ class Stage:
|
|||
|
||||
ipmgr = InputManager(mgr, storeapi, inputs_tmpdir)
|
||||
for key, ip in self.inputs.items():
|
||||
data = ipmgr.map(ip, store)
|
||||
data = ipmgr.map(ip)
|
||||
inputs[key] = data
|
||||
|
||||
devmgr = DeviceManager(mgr, build_root.dev, tree)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue