Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: Broadcast of post to sse blocks execution (#11)
It seems some issues around the Broadcast functionality was blocking my entire post db writer causing the feed to go stale as no posts were being written. Two fixes have been implemented for this. First the Broadcast receiver function no longer requests a mutex lock. If it tries to send a post to a closed or nil channel, we don't really care. Locking for every post coming in would likely lead to situations where multiple calls to Broadcast would be waiting for the previous to complete sending channel events. Secondly the Broadcast call is called in a go routine (i.e. go server.Broadcast(post)). This should allow the post subscriber in the serve command to quickly process the posts regardless of how long the broadcast function uses to loop over SSE clients.
- Loading branch information