• Home
    • View
    • Login
    This page
    • Normal
    • Export PDF
    • Page Information

    Loading...
  1. Dashboard
  2. Undefined Space
  3. Loom
  4. Networking IO

Networking IO

  • Created by Alan Bateman, last modified on May 08, 2019

The following blocking operations are fiber friendly in the current prototype; these methods do not pin the carrier thread when the operation blocks.

APIMethodsNotes
java.net.Socketconnect, read, writeRelies on JEP 353
java.net.ServerSocketaccept



java.nio.channels.SocketChannelconnect, read, writeconnect, read, and write on the socket adaptor obtained via SocketChannel::socket also okay
java.nio.channels.ServerSocketChannelacceptaccept on the socket adaptor obtained via ServerSocketChannel::socket also okay
java.nio.channels.DatagramChannelread, receivewrite and send do not block
java.nio.channels.Pipe.SourceChannelread
java.nio.channels.Pipe.SinkChannelwrite


The following blocking operations are not currently fiber friendly; these methods pin the carrier thread when the operation blocks.

APIMethodsNotes
java.net.DatagramSocketreceiveNeed to investigate if receive can be done without synchronizing on the DatagramPacket (unspecified but long standing behavior)
java.net.InetAddress

getByName, getAllByName, ..

These methods block in NSS/equivalent. Several operations to explore including using a thread pool or dusting off the JNDI DNS provider.
java.nio.channels.SelectorselectSelection operations are specified to synchronize on the selector and the selected-key set. May not be a concern as code using fibers should not need to use non-blocking I/O and Selectors.
Overview
Content Tools
ThemeBuilder
  • No labels

Terms of Use
• License: GPLv2
• Privacy • Trademarks • Contact Us

Powered by a free Atlassian Confluence Open Source Project License granted to https://www.atlassian.com/software/views/opensource-community-additional-license-offer. Evaluate Confluence today.

  • Kolekti ThemeBuilder Powered by Atlassian Confluence 8.5.21
  • Kolekti ThemeBuilder printed.by.atlassian.confluence
  • Report a bug
  • Atlassian News
Atlassian
Kolekti ThemeBuilder EngineAtlassian Confluence
{"serverDuration": 170, "requestCorrelationId": "6230619a57025987"}