diff options
author | Raymaekers Luca <raymaekers.luca@gmail.com> | 2024-10-24 23:10:31 +0200 |
---|---|---|
committer | Raymaekers Luca <raymaekers.luca@gmail.com> | 2024-10-24 23:10:31 +0200 |
commit | f37cce374cc9da243fc2babbea9a7051f15db80a (patch) | |
tree | 7a6b0e5f7bd38cbd39ba1e1f43689ca6be92c53e /v1/README.md | |
parent | c7687f88bc5cb4d25304b0ee19789c37aebd7b6d (diff) |
Archive code into v1/ directory
The code was written too fast and I deemed that it would be better to
make a new draft.
Diffstat (limited to 'v1/README.md')
-rw-r--r-- | v1/README.md | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/v1/README.md b/v1/README.md new file mode 100644 index 0000000..2cf0aee --- /dev/null +++ b/v1/README.md @@ -0,0 +1,58 @@ +# Chatty +The idea is the following: +- tcp server that you can send messages to +- history upon connecting +- date of messages sent +- authentication +- encrypted communication (tls?) +- client for reading the messages and sending them at the same time + +# Common +- use memory arena's to manage memory +- manage memory for what if it will not fit + - for just do nothing when the limit is reached + +# Server +- min height & width +- wrapping input +- [ ] bug: retransmissed message have no text +- [ ] history +- [x] max y for new messages and make them scroll +- [x] check resize event +- [x] asynchronously receive/send a message +- [x] send message to all other clients +- [x] fix receiving messages with arbitrary text length +- [x] bug: server copying the bytes correctly + +- rooms +- encryption +- authentication + +# Client +- bug: when having multiple messages and resizing a lot, the output will be in shambles +- bug: when resizing afters sending messages over network it crashes +- bug: all messages using the same buffer for text +- bug: 1. open chatty, send a message with send, messages won't be received by the server +- bug: memcpy is overlapping a byte in the next message when messages_add +- use pointer for add_message +- validation of sent/received messages +- handle disconnection + +# Questions +- will two consecutive sends be read in one recv + - not always. +- can you recv a message in two messages + - yes, done. + +# Message protocol +Version 1 +1 version byte +4 length bytes +12 message_author bytes +- 11 chars + \0 +9 timestamp bytes +- 8chars + \0 +x text bytes +- x bytes + \0 + +The variable text bytes can be calculated by substracting the author and timestamp from the length |