Skip to content

Replicate an associative array to over 1K clients

License

Notifications You must be signed in to change notification settings

etheriqa/libworld

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libworld

Build Status

libworld is a small toy library which provides an associative array with asynchronous replication to many clients.

Concepts

  • Adopt a simple master-slave topology. (neither multi-master, nor peer-to-peer)
  • Aim at making a master be capable of replicating data up to 1k slaves.
  • Prefer stability and lowness of latency rather than throughput.
  • Assume a reliable network. (intended to do with TCP)
  • Never implement an encryption layer, a compression layer, and so on.
  • Never support the memcached protocols.
  • Suppose a compiler complying with the C11 language standard. (esp. Clang, GCC)
  • Suppose a platform conforming to POSIX.1-2008. (esp. Linux, OS X)

API Overview

Refer to include/world.h.

In addition, an end-to-end test (test/e2e/world.c) may help you to see.

Note, however, that the API is unstable and the implementation is highly error-prone at the present.

About

Replicate an associative array to over 1K clients

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published