This is an automated email from the ASF dual-hosted git repository.

tibordigana pushed a commit to branch maven2surefire-jvm-communication
in repository https://gitbox.apache.org/repos/asf/maven-surefire.git

commit f67a727cb191c444741312732dd25793704ff016
Author: tibordigana <tibordig...@apache.org>
AuthorDate: Sun Feb 9 10:47:09 2020 +0100

    JavaDoc in ForkChannel
---
 .../maven/surefire/extensions/ForkChannel.java     | 64 +++++++++++++++-------
 1 file changed, 43 insertions(+), 21 deletions(-)

diff --git 
a/surefire-extensions-api/src/main/java/org/apache/maven/surefire/extensions/ForkChannel.java
 
b/surefire-extensions-api/src/main/java/org/apache/maven/surefire/extensions/ForkChannel.java
index 5d9fbba..baeae00 100644
--- 
a/surefire-extensions-api/src/main/java/org/apache/maven/surefire/extensions/ForkChannel.java
+++ 
b/surefire-extensions-api/src/main/java/org/apache/maven/surefire/extensions/ForkChannel.java
@@ -29,14 +29,22 @@ import java.nio.channels.ReadableByteChannel;
 import java.nio.channels.WritableByteChannel;
 
 /**
+ * It's a session object used only by a particular Thread in ForkStarter
+ * and dedicated forked JVM {@link #getForkChannelId()}. It represents a 
server.
+ * <br>
+ * <br>
+ * It opens the channel via {@link #openChannel()}, provides a connection 
string {@link #getForkNodeConnectionString()}
+ * used by the client in the JVM, binds event and command handlers.
+ *
+ * @author <a href="mailto:tibordig...@apache.org";>Tibor Digana (tibor17)</a>
+ * @since 3.0.0-M5
  */
 public abstract class ForkChannel implements Closeable
 {
     private final int forkChannelId;
 
     /**
-     *
-     * @param forkChannelId
+     * @param forkChannelId the index of the forked JVM, from 1 to N.
      */
     protected ForkChannel( int forkChannelId )
     {
@@ -46,50 +54,62 @@ public abstract class ForkChannel implements Closeable
     public abstract void openChannel() throws IOException;
 
     /**
+     * This is server related class, which if binds to a TCP port, determines 
the connection string for the client.
      *
-     * @return
+     * @return a connection string utilized by the client in the fork JVM
      */
     public abstract String getForkNodeConnectionString();
 
     /**
+     * Determines which one of the two <em>bindCommandReader-s</em> to call in 
<em>ForkStarter</em>.
+     * Can be called anytime.
      *
-     * @return
+     * @return If {@code true}, calling {@link 
#bindCommandReader(CommandReader, WritableByteChannel)} by
+     * <em>ForkStarter</em> and {@link #bindCommandReader(CommandReader)} 
throws {@link UnsupportedOperationException}.
+     * If {@code false}, then opposite.
      */
     public abstract boolean useStdIn();
 
     /**
+     * Determines which one of the two <em>bindEventHandler-s</em> to call in 
<em>ForkStarter</em>.
+     * Can be called anytime.
      *
-     * @return
+     * @return If {@code true}, the {@link #bindEventHandler(StreamConsumer, 
ReadableByteChannel, CountdownCloseable)}
+     * is called in <em>ForkStarter</em> and {@link 
#bindEventHandler(StreamConsumer)} throws
+     * {@link UnsupportedOperationException}.
+     * If {@code false}, then opposite.
      */
     public abstract boolean useStdOut();
 
     /**
+     * Binds command handler to the channel.
      *
-     * @param commands
-     * @param stdIn
-     * @return
-     * @throws IOException
+     * @param commands command reader, see {@link 
CommandReader#readNextCommand()}
+     * @param stdIn    the standard input stream of the JVM to write the 
encoded commands into it
+     * @return the thread instance to start up in order to stream out the data
+     * @throws IOException if an error in the fork channel
      */
     public abstract CloseableDaemonThread bindCommandReader( @Nonnull 
CommandReader commands,
                                                              @Nonnull 
WritableByteChannel stdIn )
         throws IOException;
 
     /**
+     * Binds command handler to the channel.
      *
-     * @param commands
-     * @return
-     * @throws IOException
+     * @param commands command reader, see {@link 
CommandReader#readNextCommand()}
+     * @return the thread instance to start up in order to stream out the data
+     * @throws IOException if an error in the fork channel
      */
     public abstract CloseableDaemonThread bindCommandReader( @Nonnull 
CommandReader commands )
         throws IOException;
 
     /**
      *
-     * @param consumer
-     * @param stdOut
-     * @param countdownCloseable
-     * @return
-     * @throws IOException
+     * @param consumer           event consumer
+     * @param stdOut             the standard output stream of the JVM
+     * @param countdownCloseable count down of the final call of {@link 
Closeable#close()}
+     * @return the thread instance to start up in order to stream out the data
+     * @throws IOException if an error in the fork channel
      */
     public abstract CloseableDaemonThread bindEventHandler( @Nonnull 
StreamConsumer consumer,
                                                             @Nonnull 
ReadableByteChannel stdOut,
@@ -97,17 +117,19 @@ public abstract class ForkChannel implements Closeable
         throws IOException;
 
     /**
+     * Binds event handler to the channel.
      *
-     * @param consumer
-     * @return
-     * @throws IOException
+     * @param consumer event consumer
+     * @return the thread instance to start up in order to stream out the data
+     * @throws IOException if an error in the fork channel
      */
     public abstract CloseableDaemonThread bindEventHandler( @Nonnull 
StreamConsumer consumer )
         throws IOException;
 
     /**
+     * The index of the fork.
      *
-     * @return
+     * @return the index of the forked JVM, from 1 to N.
      */
     protected final int getForkChannelId()
     {

Reply via email to