ISSTA/ECOOP 2024
Mon 16 - Fri 20 September 2024 Vienna, Austria

The key data structure enabling communication between coroutines is the rendezvous channel. In essence, it is a blocking queue of size zero, so both send(e) and receive() operations wait for one another, performing a rendezvous when they meet. To optimize the message-passing pattern, channels are usually equipped with a fixed-size buffer, so sends do not suspend and put elements into the buffer until its capacity is exceeded. This primitive is known as a buffered channel. This talk presents a fast and scalable algorithm for both rendezvous and buffered channels developed for Kotlin coroutines.

Wed 18 Sep

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change


Information for Participants