librecast(7)
π librecast(7) π
ok bestie, welcome to the manual page for librecast β it lives in the Librecast Programmer's Manual, section 7, and it's literally the vibe check for the whole C multicast library. grab a strawberry π and let's go.
β¨ NAME β¨
librecast β a C multicast library π¦
πΈ DESCRIPTION πΈ
Librecast is a C multicast library and its whole entire goal is to make working with multicast easier. like, actually easier, not "easier" in the way tech bros say easier.
Librecast extends IPv6 multicast to give you a multicast communication layer with support for encodings, encryption, file syncing, router topologies and overlay multicast. it's giving main character energy fr fr π
π Librecast Objects π
The Librecast C API has a bunch of basic objects that get used all over the place β Contexts, Sockets, Channels and Routers. meet the cast π
- Context (
lc_ctx_t) β the root object, and everything else is linked to it. You literally need it to create Sockets, Channels, Routers, and to call a whole lot of API functions. Default settings for other objects β sending rate limits, for example β can be set on the Context, and then overridden when those other objects get created. And here's the slay part: you do not need to individually free Sockets, Channels or Routers. One single call tolc_ctx_free(3)frees all the associated objects. one call. that's it. periodt β¨ - Socket (
lc_socket_t) β endpoints for multicast communication, and they can be bound to one or more Librecast Channels. Sockets can be IPv6 or socketpair. Support for Websocket and WebRTC Sockets is planned for an upcoming release β so like, manifesting π―οΈ - Channel (
lc_channel_t) β basically an analogue for a multicast group, but with settings applied, like encodings (eg. encryption, RaptorQ FEC), rate-limits etc. A Channel must be bound to a Socket before it can be used. no socket, no channel, no exceptions bestie π - Router (
lc_router_t) β the Router API adds a number of function calls to the Librecast C Library for creating and managing an in-memory multicast router. This forms the basis of several other APIs, such as the Websocket API, WebRTC API, and it allows for network simulations and measurements. iconic behaviour honestly π
π BUGS π
If you find one β and bestie, you might π β email bugs@librecast.net or raise an issue in our bug tracker at https://bugs.librecast.net/. we will love you for it π«Ά
π SEE ALSO π
The Librecast website has more information: https://librecast.net/
Also go read these, they're all connected:
lc_ctx_new(3)lc_socket_new(3)lc_socketpair(3)lc_channel_new(3)lc_share(3)lc_mdex_init(3)lcrq(7)
and that's the whole page, bestie π this one came from the Librecast peeps, dated 2025-05-18, filed under librecast(7). go build something cute with it πΈπ¦β¨
π¦ where this page comes from
- nixos 26.05: librecast 0.11.2
- nixpkgs unstable: librecast 0.11.2
- ubuntu resolute: liblibrecast-dev 0.11.2-2 Β· GPL-2.0-only OR GPL-3.0-only
- ubuntu stonking: liblibrecast-dev 0.11.2-2build1 Β· GPL-2.0-only OR GPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms