Skip to content

weirdev/async-pub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Async-Pub

A generic async publisher (ie. logger) implementation.

Simply create a type implementing Publisher that processes updates in sequence. This Publisher can be stateful (ie. batch messages and send as a block) and will be cleaned up with drop provider .close() is called on the logger.

The logger type is intended to be static initialized so as to be globally available and shared across the program.

The publisher runs on a background thread so logger.send() calls return almost immediately.

TODO

  • Avoid taking exclusive lock coving all counters when adding a new counter
    • Use a tree with locks at each node?
  • Connection to remote
  • Counter drop / publish on shutdown
  • Ligher weight string repr: for communication? for local calls?
  • Multi increment counters
  • Perf: Don't shift on every increment
  • Perf: Keep socket open across calls

Current status

fix-recieve-enum branch contains lots of improvements of async usage and intialization that are not on master

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages