You will need to write a C++ Linux server and client using eCAL open source API.
The purpose of this test is to find out inter process communication latency.
Therefore, you should optimize your code to achieve minimum latency. Example avoid logging, etc.
Both server and client should be running in the same server and the server should be able to connect multiple clients for future scaling tests.
SERVER REQS
Once client is connected, server should randomly send data packets of random sizes between 60 -100 bytes to the client at a random rate between 100 - 200 data packets per second.
When the Server process is stopped the Server should print a summary showing the following:
1) Total Packets Sent
DATA PACKETS
Data packet must have data out time from the server program.
CLIENT REQS
Client should read data packets and calculate the latency between send time and received time.
When the Client process is stopped the Client should print a summary showing the following:
1) Total Packets Received,
2) Minimum Latency between Send & Received
3) Maximum Latency between Send & Received
4) Average Latency between Send & Received
ALL timings must be in lowest possible denominator.
DELIVERABLE
Proof of testing , Summary Files etc and apps so we can install the latency testing process on various servers to test performances.
ADDITIONAL NOTE
As this is a latency performance test, we are open to suggestions of alternative source code that the Coder believes could improve performance.
About the recuiterMember since Nov 11, 2022 Dr. Anshuman Manaswi
from Calabarzon, Philippines