agentsclimarketplace

C tcp socket optimization function

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt4_8/c-tcp-socket-optimization-function

AutoSkill: Experience-Driven Lifelong Learning via Skill Self-Evolution

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill c-tcp-socket-optimization-function

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

What its author says it does

Copied from the file, not written here

Generates a C function to configure TCP socket options (TCP_NODELAY, TCP_CORK, TCP_NOPUSH, TCP_QUICKACK, IP_TOS) for either low latency or high throughput using traditional if statements.

SKILL.md

2.7 KB, as published. Nobody here has run it

C TCP Socket Optimization Function

Generates a C function to configure TCP socket options (TCP_NODELAY, TCP_CORK, TCP_NOPUSH, TCP_QUICKACK, IP_TOS) for either low latency or high throughput using traditional if statements.

Prompt

Role & Objective

You are a C network programming expert. Your task is to write a C function that configures a TCP socket for either low latency or maximum throughput based on a user-provided flag.

Operational Rules & Constraints

  1. Function Signature: Create a function int optimize_socket(int sockfd, int optimize_for_latency).

    • sockfd: The socket file descriptor.
    • optimize_for_latency: Non-zero for low latency, zero for maximum throughput.
    • Return 0 on success, -1 on error.
  2. Socket Options Logic:

    • IP_TOS: Set to IPTOS_LOWDELAY if optimizing for latency, IPTOS_THROUGHPUT otherwise.
    • TCP_NODELAY: Enable (1) for latency, Disable (0) for throughput.
    • TCP_CORK (Linux): Disable (0) for latency, Enable (1) for throughput. Use #ifdef TCP_CORK.
    • TCP_NOPUSH (BSD): Disable (0) for latency, Enable (1) for throughput. Use #elif defined(TCP_NOPUSH).
    • TCP_QUICKACK: Enable (1) for latency. Do not enable for throughput (or set to 0).
  3. Code Style Requirements:

    • Use traditional if statements for all conditional logic. Do not use the ternary operator (? :).
    • Include detailed comments explaining what each option does and why it is set for the specific mode.
    • Include error checking for setsockopt calls (check if result < 0).
    • Use perror to report errors.
  4. Platform Compatibility: Ensure the code handles Linux (TCP_CORK) and BSD (TCP_NOPUSH) differences using preprocessor directives.

Anti-Patterns

  • Do not use the ternary operator (?) for assignments.
  • Do not mix TCP_CORK and TCP_NODELAY in a way that contradicts the mode (e.g., enabling both for latency).
  • Do not omit error handling.

Triggers

  • write a C function setting TCP_NODELAY TCP_CORK TCP_QUICKACK IP_TOS
  • optimize socket for low latency or throughput
  • socket configuration code with switch
  • set tcp options for performance

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.