Skip to content

Implementation of w3 websub protocol in Go. WIP and strictly for-fun project.

Notifications You must be signed in to change notification settings

adamsanghera/go-websub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A WIP Implementation of WebSub

Go Report Card Travis CI codecov

Doing this for fun. Watch me go!

Design notes

  • Active vs Inactive state is implicitly defined, using a timestamp-expiration mechanism (inspired by how Chubby handles leases)
    • Inactive: expiration prior to now()
    • Active: expiration in the future
  • Abrupt cancels (i.e. in cases of denial, or a user-initiated cancel) are a two-phase process
    1. The subscription server kills the renewal routine
    2. SQLite Update request, setting expiration time to now()
    • In the worst case of arbitrary failure, the client believes its lease active, until either (1) the existing timestamp expires, or (2) a subsequent renewal is rejected
  • Successful renewal routines update the expiration time upon ACK

About

Implementation of w3 websub protocol in Go. WIP and strictly for-fun project.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published