Skip to content

uselect: Issues with polling stream wrappers #3394

Closed

Description

@pfalcon

Currently, uselect module accepts only stream which directly implement MP_STREAM_POLL (baremetal ports) or just exact file and socket streams (unix port). However, these streams can be wrapped in (any number of) other streams, e.g. a socket in websocket in SSL, and such wrapped streams don't work with uselect.

That's apparently what being reported in #3297 .

Solving this on MicroPython level requires a bit of legwork (and associated code), especially given that there're different variants of solution for baremetal vs unix. So, given that uasyncio is the only known component affected, my plan is to try to work it around on its level.

But sooner or later it may affect other users too.

Activity

  1. pfalcon commented on Nov 3, 2017

    @pfalcon
    ContributorAuthor

    Workaround on uasyncio side: micropython/micropython-lib#227

  2. dpgeorge commented on Jul 20, 2018

    @dpgeorge
    Member

    Support for polling ussl objects on bare-metal (axtls and mbedtls versions) was added in 7a67f05 by passing through the ioctl request to the underlying socket object.

    Support for polling general objects on unix (including ussl) was implemented in ef554ef

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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