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.
Scanned 5/30/2026
Install via CLI
openskills install gabrielmoreira/agent-skills-mirror---
id: "084bed7d-f3ca-4527-9d9d-973ad7e8d09c"
name: "C TCP Socket Optimization Function"
description: "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."
version: "0.1.0"
tags:
- "C"
- "TCP"
- "socket programming"
- "network optimization"
- "low latency"
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"
---
# 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

No comments yet. Be the first to comment!