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 to lc_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:


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