Skip to content

Submission for "Distributed Systems" at Vienna University of Technology (SS2016)

Notifications You must be signed in to change notification settings

lorenzleutgeb/ds

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Submission for "Distributed Systems" at Vienna University of Technology (SS2016)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages