Col-E / Col-E/Nimbus

Implement common cache for publishers/subscribers

Open
#1 1 comment 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Java
Stars
3
Forks
1
PR merge metrics
No merged PRs in 30d

Description

# Model

![image](https://user-images.githubusercontent.com/21371686/99876182-1bcd7980-2bc3-11eb-997d-976685ca2858.png)

# Description

Each client may:

- Publish 0 or more types
- Subscribe to 0 or more types

Each data type will have its own publisher/subscriber, both of which share the same cache. The cache will retain information about recently sent/received data _(value+timestamp)_. The amount of information retained should be configurable.

Publishers will append to the cache and notify the network of an update that needs to be synchronized.

Subscribers will listen on the network for incoming data. When data is seen it is appended to the cache. The subscriber will then notify any listeners of the update _(Data deserialized into Java type)_.

## Why cache?

1. Allow subscribers to prevent acting on duplicate data.
2. Allow new client connections to request prior data to catch up on what happened in the past

Contributor guide

No contributing guide indexed for this repository

Research direction

No files, tests, or entry points are named. Start by locating the existing publisher, subscriber, and network synchronization implementations, then determine how data types are represented and how configuration is handled. Done means publishers and subscribers share a configurable recent-data cache, duplicate updates can be suppressed, and new clients can receive prior data.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
distributed-systems, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.