• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..07-Oct-2021-

README.mdH A D07-Oct-2021910 105

auth.goH A D07-Oct-20211 KiB5038

bank.goH A D07-Oct-20217 KiB238207

bank.pb.goH A D07-Oct-202159 KiB1,7021,444

bank.protoH A D07-Oct-20213.6 KiB126111

chat.goH A D07-Oct-20219.8 KiB466408

db.goH A D07-Oct-20214.8 KiB185154

main.goH A D07-Oct-20214 KiB169136

support.pb.goH A D07-Oct-202139 KiB1,255990

support.protoH A D07-Oct-20214.3 KiB119105

README.md

1# bankdemo
2
3The `bankdemo` program is an example gRPC server that was used to demo `grpcurl` at Gophercon 2018.
4
5It demonstrates interesting concepts for building a gRPC server, including chat functionality (that relies on full-duplex bidirectional streams). This code was written specifically to provide an interesting concrete demonstration and, as such, should not be considered in any way production-worthy.
6
7The demo app tracks user accounts, transactions, and balances completely in memory. Every few seconds, as well as on graceful shutdown (like when the server receives a SIGTERM or SIGINT signal), this state is saved to a file named `accounts.json`, so that the data can be restored if the process restarts.
8
9In addition to bank account data, the server also tracks "chat sessions", for demonstrating bidirectional streams in the form of an application where customers can chat with support agents.
10