All features and notable changes to this project will be documented in this file. The format is based on Keep a Changelog.
- full UDP and TCP communication with the server
- CLI arguments parsing
- user input checking and parsing into messages
- everything specified in the assignment
- WINDOWS support was deprecated in version 0.0.3 due to amount of testing it would require and uncompatible libraries. Legacy windows support code is still in the app and implementing it is possible.
- Certain parts of code could be refactored.
- printing "ERR FROM " messages to stderr
- sending messageID in network byte order
- docs: exit codes table
- finalized code
- docs: noted features in changelog
- docs: await_message() in Abstraction
- docs: table of contents
- docs: images to testing section
- spliting too long message input into correct sized messages and sending them in order
- validating user input format
- tcp: comparing in case-insensitive manner keywords
- tcp: checking if received message is correct
- feat: added general await_message function in AbstractConnection that is used by its children
- refactor: common printing functions
- fix: validating user commands
- docs: testing section update
- docs: Testing section progress
- docs: Implementation section progress
- handling EOF in stdin
- (tcp): proccessing messages with error
- (tcp): msg processing format
- (docs): Problematique section
- (docs): Build & Run section
- (udp) sending confirm only once
- (udp) processing of reply message
- (udp) bye message would not be send when received SIGINT
- (udp) join, auth, receive funcionality
- (udp) added messageID
- (udp) laid work for sending messages
- minor code refactor
- byte size of message type
- (tcp) main tcp funcionality should work, tested on ref server
- translating hostname into ip address
- (tcp) reacting to BYE message from server
- (tcp) handling interrupt signal from user while waiting for auth verification
- (tcp) added (5sec) timeout to waiting for auth verification
- (tcp) processing messages sent by server
- (tcp) waiting for auth verification
- preparing functions for communication
- added exceptions
- handling user input
- handling interrupt signal
- using pool to listen for keyboard and socket input
- parsing arguments into ConnectionSettings
- TCPConnection class
- WINDOWS support. From this point the app wont support Windows. (Because of testing and implementation simplicity)
- CHANGELOG.md file
- added Makefile
- made Abstract and UDP connection classes (not final)
- sending UDP msg for testing