< prev index next >

src/java.base/share/classes/sun/nio/ch/PollerProvider.java

Print this page
*** 28,42 ***
  
  /**
   * Provider class for Poller implementations.
   */
  abstract class PollerProvider {
!     private static final PollerProvider INSTANCE = new DefaultPollerProvider();
  
!     PollerProvider() { }
  
      /**
!      * Returns the system-wide PollerProvider.
       */
!     static PollerProvider provider() {
!         return INSTANCE;
      }
  
      /**
!      * Returns the default poller mode.
-      * @implSpec The default implementation uses system threads.
       */
!     Poller.Mode defaultPollerMode() {
!         return Poller.Mode.SYSTEM_THREADS;
      }
  
      /**
!      * Default number of read pollers for the given mode. The count must be a power of 2.
       * @implSpec The default implementation returns 1.
       */
!     int defaultReadPollers(Poller.Mode mode) {
          return 1;
      }
  
      /**
!      * Default number of write pollers for the given mode. The count must be a power of 2.
       * @implSpec The default implementation returns 1.
       */
!     int defaultWritePollers(Poller.Mode mode) {
          return 1;
      }
  
      /**
       * Maps a file descriptor to an index from 0 to {@code toIndex}.
--- 28,47 ---
  
  /**
   * Provider class for Poller implementations.
   */
  abstract class PollerProvider {
!     private final Poller.Mode mode;
  
!     PollerProvider(Poller.Mode mode) {
+         this.mode = mode;
+     }
+ 
+     final Poller.Mode pollerMode() {
+         return mode;
+     }
  
      /**
!      * Creates a PollerProvider that uses its preferred/default poller mode.
       */
!     static PollerProvider createProvider() {
!         return new DefaultPollerProvider();
      }
  
      /**
!      * Creates a PollerProvider that uses the given poller mode.
       */
!     static PollerProvider createProvider(Poller.Mode mode) {
!         return new DefaultPollerProvider(mode);
      }
  
      /**
!      * Default number of read pollers. The count must be a power of 2.
       * @implSpec The default implementation returns 1.
       */
!     int defaultReadPollers() {
          return 1;
      }
  
      /**
!      * Default number of write pollers. The count must be a power of 2.
       * @implSpec The default implementation returns 1.
       */
!     int defaultWritePollers() {
          return 1;
      }
  
      /**
       * Maps a file descriptor to an index from 0 to {@code toIndex}.
< prev index next >