View Javadoc

1   // Copyright (C) 2004, 2005, 2006, 2007 Philip Aston
2   // All rights reserved.
3   //
4   // This file is part of The Grinder software distribution. Refer to
5   // the file LICENSE which is part of The Grinder distribution for
6   // licensing details. The Grinder distribution is available on the
7   // Internet at http://grinder.sourceforge.net/
8   //
9   // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
10  // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
11  // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
12  // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
13  // COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
14  // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
15  // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
16  // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
17  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
18  // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
19  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
20  // OF THE POSSIBILITY OF SUCH DAMAGE.
21  
22  package net.grinder.engine.process;
23  
24  import net.grinder.common.SSLContextFactory;
25  import net.grinder.common.ThreadLifeCycleListener;
26  import net.grinder.plugininterface.PluginThreadContext;
27  import net.grinder.script.Statistics.StatisticsForTest;
28  
29  import org.slf4j.Marker;
30  
31  
32  /**
33   * Package scope.
34   *
35   * @author Philip Aston
36   */
37  interface ThreadContext extends PluginThreadContext {
38  
39    DispatchResultReporter getDispatchResultReporter();
40  
41    SSLContextFactory getThreadSSLContextFactory();
42  
43    void setThreadSSLContextFactory(SSLContextFactory threadSSLFactory);
44  
45    void registerThreadLifeCycleListener(ThreadLifeCycleListener listener);
46  
47    void removeThreadLifeCycleListener(ThreadLifeCycleListener listener);
48  
49    void fireBeginThreadEvent();
50  
51    void fireBeginRunEvent();
52  
53    void fireEndRunEvent();
54  
55    void fireBeginShutdownEvent();
56  
57    void fireEndThreadEvent();
58  
59    void pushDispatchContext(DispatchContext dispatchContext)
60      throws ShutdownException;
61  
62    void popDispatchContext();
63  
64    StatisticsForTest getStatisticsForCurrentTest();
65  
66    StatisticsForTest getStatisticsForLastTest();
67  
68    void setDelayReports(boolean b);
69  
70    void reportPendingDispatchContext();
71  
72    void shutdown();
73  
74    /**
75     * @param run The current run number. Pass -1 to indicate that there
76     * is no current run.
77     */
78    void setCurrentRunNumber(int run);
79  
80    Marker getLogMarker();
81  }
82