1package org.testng.remote;
2
3import org.testng.SuiteRunner;
4import org.testng.internal.Utils;
5import org.testng.internal.remote.SlavePool;
6import org.testng.remote.adapter.RemoteResultListener;
7import org.testng.xml.XmlSuite;
8
9import java.io.IOException;
10
11public class RemoteWorker {
12  protected RemoteResultListener m_listener;
13  private SlavePool m_slavePool;
14
15  public RemoteWorker(RemoteResultListener listener, SlavePool slavePool) {
16    m_listener = listener;
17    m_slavePool = slavePool;
18  }
19
20  protected SlavePool getSlavePool() {
21    return m_slavePool;
22  }
23
24  protected SuiteRunner sendSuite(ConnectionInfo ci, XmlSuite suite)
25    throws IOException, ClassNotFoundException
26  {
27    log("Sending " + suite.getName() + " to "
28        + ci.getSocket().getInetAddress().getCanonicalHostName() + ":"
29        + ci.getSocket().getRemoteSocketAddress());
30    ci.getOos().writeObject(suite);
31    ci.getOos().flush();
32    SuiteRunner result = (SuiteRunner) ci.getOis().readObject();
33    log("Received results for " + result.getName());
34    return result;
35  }
36
37  private void log(String string) {
38    Utils.log("", 2, string);
39  }
40
41
42}
43