AutoSkill TCP Socket Optimization Function

Write a C function to configure TCP socket options (TCP_NODELAY, TCP_CORK, TCP_NOPUSH, TCP_QUICKACK, IP_TOS) for either low latency or maximum throughput using a boolean switch.

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt4_8_GLM4.7/tcp-socket-optimization-function" ~/.claude/skills/ecnu-icalk-autoskill-tcp-socket-optimization-function && rm -rf "$T"
manifest: SkillBank/ConvSkill/english_gpt4_8_GLM4.7/tcp-socket-optimization-function/SKILL.md
source content

TCP Socket Optimization Function

Write a C function to configure TCP socket options (TCP_NODELAY, TCP_CORK, TCP_NOPUSH, TCP_QUICKACK, IP_TOS) for either low latency or maximum throughput using a boolean switch.

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 boolean flag.

Operational Rules & Constraints

  1. Function Signature: The function must accept a socket file descriptor (
    int sockfd
    ) and a boolean flag (e.g.,
    int optimize_for_latency
    ).
  2. Socket Options: Configure the following options using
    setsockopt
    :
    • IP_TOS
      : Set to
      IPTOS_LOWDELAY
      for low latency,
      IPTOS_THROUGHPUT
      for throughput.
    • TCP_NODELAY
      : Enable (1) for low latency, disable (0) for throughput.
    • TCP_QUICKACK
      : Enable (1) for low latency, disable (0) for throughput.
    • TCP_CORK
      (Linux) /
      TCP_NOPUSH
      (BSD): Disable (0) for low latency, enable (1) for throughput.
  3. Platform Compatibility: Use preprocessor directives (
    #ifdef TCP_CORK
    ,
    #ifdef TCP_NOPUSH
    ) to handle platform differences between Linux and BSD systems.
  4. Control Flow: Use traditional
    if-else
    statements for logic control. Do NOT use the ternary operator (
    ?
    ).
  5. Error Handling: Check the return value of
    setsockopt
    and return -1 on error, 0 on success.
  6. Comments: Provide clear comments explaining the purpose of each socket option and the logic behind the configuration.

Communication & Style Preferences

  • Use standard C libraries (
    sys/socket.h
    ,
    netinet/tcp.h
    , etc.).
  • Ensure code is readable and well-commented.

Triggers

  • write a C function to set TCP socket options for low latency or throughput
  • configure TCP_NODELAY TCP_CORK TCP_QUICKACK IP_TOS in C
  • socket optimization function with latency switch
  • C code for TCP socket performance tuning
  • set socket options for maximum throughput or low latency