This repository contains a simulated implementation of Process per Protocol and Process per Message network stacks. Each implementation is defined by a class.
processperprotocol.h
: Header file for Process per Protocol implementationprocessperprotocol.cpp
: File containing the implementation of the Process per Protocol implementationprocesspermessage.h
: Header file for Process per Message implementationprocesspermessage.h
: File containing the implemenation of the Process per Message implementationprotocolid.h
: Header file containing ID's to be used to describe different protocols, as well as headers for each of those protocolscombined_application.cpp
: Application that starts one instance of Process per Protocol and one instance of Process per Message and transmits 400 messages (800 total) between them. Prints total time needed to transmit the messageprotocol_application.cpp
: Application that starts two instance of Process per Protocol and transmits 800 total messages between them. Prints total time needed to transmit messagesmessage_application.cpp
: Application that starts two instance of Process per Message and transmits 800 total messages between them. Prints total time needed to transmit messages
Compile all of the application files using make
. Then, run each of the
applications with ./combined_application
, ./protocol_application
, and
./message_application
. Each application will print out the total time elapsed
between when that application started and when the last message was received.
Below are sample results for testing the time needed for each implementation of the network stack:
- Process per Protocol: 62 milliseconds
- Process per Message: 43 milliseconds
- Combined: 57 milliseconds