Comments (3)
Ah, I'm not really qualified to speak on this--perhaps @benbjohnson might?
from maelstrom.
@avinassh It's probably a better API to return the message ID, however, you shouldn't need to do message ID tracking for any of the challenges. I think breaking the API will be significantly more painful than it's worth. For that reason, I'd recommend not implementing the change.
from maelstrom.
It's probably a better API to return the message ID, however, you shouldn't need to do message ID tracking for any of the challenges.
Continuing from the previous example, I had a background worker check the store
for old messages:
go func() {
ticker := time.NewTicker(100 * time.Millisecond)
for range ticker.C {
randomMsgId := store.Get()
// randomMsgId is not sent, so resend again
}
}()
In the above snippet, msgId is randomly generated, where I kept the state. Without message ids, this is painful.
Though I agree that tracking message Ids is not required for any challenges, but when I was solving broadcast challenge, this is how I started working on the solution, it took me a while to realise this is not required at all and later removed the tracking of message ids. So, if someone else were to try the same, I thought we could make it easier.
I think breaking the API will be significantly more painful than it's worth. For that reason, I'd recommend not implementing the change.
I am a bit conflicted about this. The way I am using this library is to initiate the go mod once and then implement the challenges. I assume most people might do the same and not update the library when working on a challenge, but I could also be wrong. But when I think from the point of view of future users, this breaking change is okay as it will improve their experiences.
from maelstrom.
Related Issues (20)
- Trying to set this up, but getting error=13, Permission denied HOT 1
- Compare-and-swap on seq-kv HOT 10
- Permission denied when running `--bin` binary HOT 7
- Namesis partition issue? HOT 1
- seq-kv reads never return final state for most recent write/cas HOT 5
- Error: Unable to access jarfile lib/maelstrom.jar HOT 2
- Kafka workload never finishes analyzing HOT 1
- Java 1.8 support HOT 1
- txn-rw-register workload does not detect g0 write cycles under read-uncommitted consistency HOT 5
- txn-rw-register: non complete response payload validation HOT 1
- Wonky error when missing newlines between messages
- `Invalid dest for message` on teardown
- Running test yields `NoSuchFileException` HOT 4
- Python client library HOT 1
- Would it be possible to SIGINT/SIGTERM processes instead of SIGKILLING them? HOT 2
- Default workload name not being set when not explicitly passed HOT 2
- Kafka workflow crashes with NullPointerException HOT 2
- Update Jepsen to 0.3.4 from 0.3.1
- Runing the demo js script does not work on Mac OS
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from maelstrom.