Skip to content

SunGuo/emojitrack-gostreamer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

emojitrack-gostreamer

Implementation of an API compatible server for the emojitrack-streamer-spec in Go.

Caveats

noidea

This was my first major Go project, so there may potentially still be some dumb stuff left in the code here.Please feel encouraged to send pull requests or line comments even for idiomatic syntax issues when accompanied with an explanation that will help me learn.

Pipeline Flow

Goroutines and channels make it just too much fun to think about things as flow diagrams. This is the essential pipeline for information flow in the main() function for the program.

diagram

Package sseserver

This program doesn't actually do too much beyond the pipeline flow above, as all of the SSE/HTTP server logic has been extracted into a handy modular package that should be usable for any generic SSE broadcasting. For that stuff, delve into the (freely licensed!) sseserver repo.

Is it any fast?

Yes.:racehorse:

TODO

  • move scorepacker and connectionpool into their own packages
  • possibly add tests for them even!
  • handle redis server reconnects
  • parse standard single REDIS_URL env var
  • dont emit empty msgs (but lets wait until done benchmarking)

About

💫 Go implementation of emojitrack-streamer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%