Skip to content

kralicky/totem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

11bf917 · Jun 10, 2024

History

59 Commits
Dec 20, 2023
Dec 20, 2023
Jan 2, 2022
Jan 2, 2022
Oct 14, 2023
Oct 12, 2023
Dec 20, 2023
Dec 20, 2023
Jun 10, 2024
Jun 10, 2024
Oct 9, 2023
Oct 12, 2023
Dec 20, 2023
Oct 9, 2023
May 23, 2023
Oct 10, 2022
Oct 13, 2023
Jun 20, 2022
Oct 14, 2023
Aug 19, 2023
Oct 9, 2023
Dec 20, 2023
Dec 20, 2023
Dec 20, 2023
Oct 14, 2023
Jun 10, 2024
Aug 20, 2023
Oct 9, 2023
Aug 20, 2023

Repository files navigation

Totem is a Go library that can turn a single gRPC stream into bidirectional unary gRPC servers.

Background

Streaming RPCs enable several useful design patterns for client-server connections that can't be done with unary RPCs. For example, keeping track of long-lived client connections, and sending server-initiated requests to such clients. However, implementing bidirectional messaging over streams can quickly become very complicated for non-trivial use cases. Totem enables these design patterns and abstracts away the underlying stream, allowing you to implement your streaming RPC in terms of simpler unary RPCs.

Examples

See the examples directory for example code.