mumble
mumble copied to clipboard
ZeroC Ice: Get channel tree without getting channel descriptions.
Context
Writing software against the mumble server Ice API.
Description
Currently, the only ways to enumerate all the channels on a server are getTree()
and getChannels()
. Both these methods request the channel descriptions of every channel on the server. This results in a possibly very large request (especially if channel descriptions contain images), even if all you want to do is iterate over channel IDs.
For example: I am writing a simple channel viewer which only lists channel names and has no need for descriptions. Calling getTree()
on my server results in a message that is ~3MiB in size, i.e. orders of magnitude larger than just the channel names and IDs. Additionally, the Ice client rejects a message this large unless I increase the max message size in my software.
What I am asking for is a way to request channel tree without downloading entire channel descriptions from the server. I think it would be best to add a new Ice API endpoint to the server in order to maintain backwards compatibility. This api endpoint would have the same behaviour as getTree()
, except the description
field of the returned Channel
objects would be set to either null or the empty string.
Mumble component
Server
OS-specific?
No
Additional information
It would also be nice to have a similar function for fetching all online users without getting their user comments.
Note that https://www.mumble.info/documentation/developer/channel-viewer-protocol/ is a thing But generally, this is functionality that would also be useful in other contexts.