1 package org.apache.maven.plugin.surefire.extensions;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.surefire.api.event.Event;
23 import org.apache.maven.surefire.extensions.CloseableDaemonThread;
24 import org.apache.maven.surefire.extensions.CommandReader;
25 import org.apache.maven.surefire.extensions.EventHandler;
26 import org.apache.maven.surefire.extensions.ForkChannel;
27 import org.apache.maven.surefire.extensions.ForkNodeArguments;
28 import org.apache.maven.surefire.extensions.util.CountdownCloseable;
29
30 import javax.annotation.Nonnull;
31 import java.nio.channels.ReadableByteChannel;
32 import java.nio.channels.WritableByteChannel;
33
34
35
36
37
38
39
40
41
42 final class LegacyForkChannel extends ForkChannel
43 {
44 LegacyForkChannel( @Nonnull ForkNodeArguments arguments )
45 {
46 super( arguments );
47 }
48
49 @Override
50 public void connectToClient()
51 {
52 }
53
54 @Override
55 public String getForkNodeConnectionString()
56 {
57 return "pipe://" + getArguments().getForkChannelId();
58 }
59
60 @Override
61 public int getCountdownCloseablePermits()
62 {
63 return 2;
64 }
65
66 @Override
67 public CloseableDaemonThread bindCommandReader( @Nonnull CommandReader commands,
68 WritableByteChannel stdIn )
69 {
70 return new StreamFeeder( "std-in-fork-" + getArguments().getForkChannelId(), stdIn, commands,
71 getArguments().getConsoleLogger() );
72 }
73
74 @Override
75 public CloseableDaemonThread bindEventHandler( @Nonnull EventHandler<Event> eventHandler,
76 @Nonnull CountdownCloseable countdownCloseable,
77 ReadableByteChannel stdOut )
78 {
79 return new EventConsumerThread( "fork-" + getArguments().getForkChannelId() + "-event-thread", stdOut,
80 eventHandler, countdownCloseable, getArguments() );
81 }
82
83 @Override
84 public void close()
85 {
86 }
87 }