An open API service indexing awesome lists of open source software.

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)

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.