Replies: 3 comments
-
|
@magniloquency please take over this issue |
Beta Was this translation helpful? Give feedback.
0 replies
-
|
Can it be assigned to me?
|
Beta Was this translation helpful? Give feedback.
0 replies
-
|
I have no permission. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment


Uh oh!
There was an error while loading. Please reload this page.
-
As instructed by @sharpener6, I am listing here the works that still need to be done for YMQ beside its Windows support. Since I will be busy working on YMQ's Windows support, it would be nice to have @magniloquency to carry out things listed below.
Tests
Currently, YMQ is able to pass the basic tests when running on localhost and remote machines. These basic tests are
echo_{server|client}andpub_server/sub_client. The first set demonstrates how to write an echo server using YMQ, and the second demonstrates theIOSocketType::UnicastandIOSocketType::Multicastusage. However, more tests needs to be done. Here's a few conditions that needs to be tested:header, then OOM will occur. So the server should reject headers that are "too large". This is currently not implemented in the core.Identityto the remote end and then exits. In this case, the server should log the error. This is currently not implemented in the core.Please postpone 1, and 2, until Windows is supported.
Benchmarks
Pingpong test behaves like this: The server implements echo server protocol, and the client implement the reverse echo server protocol. That is, the client will generate a message and sent it to the echo server. Then the server will echo back, and the client will echo back the message that the server echoed back. This makes a message bouncing between the server and the client as a pingpong ball. We can then calculate the total traffics in bytes, and measure the time of bouncing when we bounce the message of X bytes for Y times.
This pingpong test will be used as benchmarking tool for YMQ. YMQ should be benchmark against
asioas a baseline, and it is expected to outperformasioby at least 15%. We should benchmark the performance with message of X bytes for Y times using Z threads, whereX = 1024, 2048, 4096,...,1024*16,Y = 128, 256,...,1024, andZbeing each number from 1 to the total number of threads on the testing machine divide by 2.Example of writing the pingpong test using YMQ can be found at
examples/echo_server.cppandexamples/pingpong.cpp.docs
YMQ should have docs that explains its architecture and features. Architecture graphs can be found at #168, but a lot of the detail is missing. The features list is completely missing. The doc should expand on the graph at #168 and explain the feature in this library. It would be even better if the doc contains internal detail, but that should be postponed until the library supports Windows.
Beta Was this translation helpful? Give feedback.
All reactions