select

abstract suspend fun select(
    selectable: Selectable,
    interest: SelectInterest
): Unit

Suspends until interest is selected for selectable May cause manager to allocate and run selector instance if not yet created.

Only one selection is allowed per interest per selectable but you can select for different interests for the same selectable simultaneously. In other words you can select for read and write at the same time but should never try to read twice for the same selectable.