Giter Site home page Giter Site logo

cring's People

Contributors

enum-class avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

mfkiwl

cring's Issues

Add Doxygen Documentation and Complete API/Test Comments

Issue Description

1. Add Doxygen Documentation

I propose adding Doxygen documentation to enhance code readability and provide a comprehensive reference for the project. The documentation should cover the entire codebase, including:

  • Adding Doxygen comments for all functions and methods
  • Describing the purpose, parameters, return values, and usage examples
  • Including Doxygen comments for classes, structures, and enums

2. Complete API Comments

Ensure that all API functions, classes, and structures have complete and informative comments. API comments should provide a clear understanding of the purpose, inputs, and outputs of each API element.

  • Check and complete comments for all API functions
  • Provide explanations for class members, structures, and enums
  • Include any additional information relevant to API users

3. Complete Test Comments

Comments in test code are crucial for understanding the purpose of each test case, especially when troubleshooting or maintaining the test suite.

  • Review and complete comments for all test cases
  • Include explanations for test setups, assertions, and expected outcomes
  • Ensure clarity and readability of the test comments

Add Support for Setting Queries Per Second in Benchmark Pingpong Client

Issue Description

Feature Request

I would like to propose the addition of a feature to the benchmark pingpong client that allows users to set the queries per second (QPS). This enhancement would provide greater flexibility for performance testing and benchmarking scenarios.

Proposed Changes

The suggested modifications include:

  1. Add a Command Line Option:

    • Introduce a command line option, such as -qps or --queries-per-second, to allow users to specify the desired QPS value.
  2. Implementation of Throttling Mechanism:

    • Implement a throttling mechanism within the pingpong client that adheres to the specified QPS, ensuring that the client sends requests at the desired rate.
  3. Documentation Update:

    • Update the project documentation to include information on the new command line option and provide usage examples.

Expected Behavior

After these changes, users should be able to set the queries per second when running the benchmark pingpong client, and the client should adhere to the specified rate during testing.

Add Examples to Project

Issue Description

Examples to Add

I propose incorporating the following examples into the project to enhance its demonstration capabilities:

  1. udp-echo

    • A simple UDP echo server and client that can be used to demonstrate basic UDP communication.
  2. chat-server and chat-client

    • Implement a chat server and client to showcase basic client-server communication using sockets.
  3. multicast/broadcast

    • Examples demonstrating multicast or broadcast communication patterns.
  4. timer

    • Integrate a timer example to illustrate timing functionalities within the project.
  5. http-client

    • Implementation of an HTTP client example to demonstrate HTTP communication.
  6. throttling_proxy.cpp

    • Integrate the throttling_proxy.cpp example to showcase throttling functionalities in a proxy scenario.

Application Hang in Multithreaded Mode

Issue Description

Bug Summary

I am encountering a bug where the application becomes unresponsive and hangs after running for some time in multithreaded mode. This issue occurs intermittently and requires further investigation to identify the root cause.

Steps to Reproduce

  1. Run the echo client in multithreaded mode.

Observed Behavior

It will stuck. I have seen sometimes it stuck because a context receive completion token of other context ?!

Enable GitHub Actions Workflow

Issue Description

I would like to request the enabling of GitHub Actions in this repository with a workflow that performs the following checks:

  1. Build and Test:

    • Debug build with GCC
    • Release build with GCC
    • Debug build with Clang
    • Release build with Clang
  2. Code Formatting Check:

    • Check code formatting using clang-format
  3. Clang-Tidy Check:

    • #2

Complete Benchmark Codes, Perform Benchmark Tests, and Report Results

Issue Description

1. Complete Benchmark Codes

I propose completing the benchmark codes for the project to assess and compare the performance of various functionalities. The benchmark codes should cover critical areas of the codebase and be designed to measure the execution time, memory usage, or any other relevant metrics.

  • Identify critical areas for benchmarking
  • Add benchmark codes to measure performance
  • Ensure benchmark codes are well-documented

2. Perform Benchmark Tests

Execute the completed benchmark codes and collect data to assess the project's performance. It's crucial to run the benchmark tests under various scenarios or configurations to capture a comprehensive understanding of the project's performance characteristics.

  • Run benchmark tests on different hardware configurations (if applicable)
  • Vary input data or parameters to assess performance under different conditions
  • Document the testing environment and configurations used

3. Report Results

Create a comprehensive report summarizing the results of the benchmark tests. The report should include:

  • Execution time for critical functionalities
  • Memory usage patterns and benchmarks
  • Comparative analysis with previous benchmark results (if available)
  • Any identified performance bottlenecks or areas for improvement

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.