Skip to content

ZeroCopySend is silently ignored in incremental mode #100

Description

@MDA2AV

Severity: low — a config option silently no-ops; one-line fix or one-line doc.

Problem

Shared-ring accept copies the config onto the connection: conn.UseZc = _zeroCopySend (Reactor.Loop.SharedRing.cs#L152).

The incremental accept path never assigns UseZc (Reactor.Loop.Incremental.cs#L265-L276). The field defaults to false, and Clear() resets SendOpFlags but deliberately not UseZc (Connection.cs#L134).

Net effect: ZeroCopySend = true + Incremental = true silently sends with plain SEND — no error, no warning, and the ServerConfig.ZeroCopySend docs don't mention the restriction.

Suggested fix

Either mirror the shared path (conn.UseZc = _zeroCopySend at incremental accept), or — if plain SEND is intentional for the incremental path — document it on ServerConfig.ZeroCopySend and consider throwing on the invalid combination at startup so the config never lies.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingseverity:lowPolish / minor win

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions