Skip to content

Concurrency warning in example server: Conformance of 'NIOSSHHandler' to 'Sendable' is unavailable #207

@yusefnapora

Description

@yusefnapora

I'm experimenting with porting a simple server app I'm working on from the (quite nice) Citadel wrapper library to use NIOSSH directly. I've got it basically working, but I get a concurrency warning that says it will be an error in Swift 6 mode.

It seems that the ChannelPipeline.addHandler method used in the example server app wants its handlers input to be [ChannelHandler & Sendable], but the NIOSSHHandler type is explicitly marked as non-Sendable.

It looks like there were some updates to that type related to strict concurrency in #196 - is it possible that the type is now effectively Sendable if the availability annotation were removed? I don't know enough about the internals here to have a clue, but perhaps a maintainer would.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions