https://github.com/lorenzleutgeb/ds
Submission for "Distributed Systems" at Vienna University of Technology (SS2016)
https://github.com/lorenzleutgeb/ds
Last synced: 3 months ago
JSON representation
Submission for "Distributed Systems" at Vienna University of Technology (SS2016)
- Host: GitHub
- URL: https://github.com/lorenzleutgeb/ds
- Owner: lorenzleutgeb
- Created: 2016-10-06T11:37:43.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2016-12-05T15:39:16.000Z (over 8 years ago)
- Last Synced: 2025-01-17T16:56:03.494Z (4 months ago)
- Language: Java
- Homepage:
- Size: 3.18 MB
- Stars: 0
- Watchers: 6
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# dslab2
All stages stated in the Lab Description were implemented. Implementation details were discussed in the team and afterwards reflected exhaustively.
## Stage 1
The nameservers were easy to implement, there wasn't much room for interpretation. The two Interfaces `INameserver` and `INameserverForChatserver` caused some confusion, because `INameserver implements NameserverForChatserver`.
## Stage 2
We decided to reimplement transformation streams (something similar to `Cipher(In|Out)putStream`), as it is a very elegant and straightforward way to provide encrypted streamed communication.
## Stage 3
We added a small utility to perform HMAC-related operations, including transforming a message into a HMAC-annotated one.
## Synchronization
We previously had one listener thread which would handle all incoming DTOs. As the client should be able to look up other users before sending a private message, we faced a challenge in order to synchronize our centralized listening mechanism with the execution of commands. This was solved by providing locked memory, that would be synchronized in order to allow for commands to block upon new input handed over by the receiving thread.