Package org.testng.remote.strprotocol
Class BaseMessageSender
- java.lang.Object
-
- org.testng.remote.strprotocol.BaseMessageSender
-
- All Implemented Interfaces:
IMessageSender
- Direct Known Subclasses:
JsonMessageSender
,SerializedMessageSender
,StringMessageSender
public abstract class BaseMessageSender extends java.lang.Object implements IMessageSender
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
BaseMessageSender.ReaderThread
Reader thread that processes messages from the client.
-
Field Summary
Fields Modifier and Type Field Description private boolean
m_ack
protected java.lang.Object
m_ackLock
protected java.net.Socket
m_clientSocket
private java.lang.String
m_host
protected java.io.BufferedReader
m_inReader
Used to receive ACK and STOPprotected java.io.InputStream
m_inStream
Incoming message stream.private java.lang.String
m_latestAck
protected java.io.OutputStream
m_outStream
Outgoing message stream.private java.io.PrintWriter
m_outWriter
Used to send ACK and STOPprivate int
m_port
private BaseMessageSender.ReaderThread
m_readerThread
private boolean
m_requestStopReceiver
private int
m_serial
private java.net.ServerSocket
m_serverSocket
-
Constructor Summary
Constructors Constructor Description BaseMessageSender(java.lang.String host, int port, boolean ack)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
closeQuietly(java.io.Closeable c)
void
connect()
Starts the connection.void
initReceiver()
Initialize the receiver.private static void
p(java.lang.String msg)
void
sendAck()
private void
sendAdminMessage(java.lang.String message)
void
sendStop()
void
shutDown()
void
stopReceiver()
Stop the receiver.protected void
waitForAck()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.testng.remote.strprotocol.IMessageSender
receiveMessage, sendMessage
-
-
-
-
Field Detail
-
m_clientSocket
protected java.net.Socket m_clientSocket
-
m_host
private java.lang.String m_host
-
m_port
private int m_port
-
m_ackLock
protected java.lang.Object m_ackLock
-
m_requestStopReceiver
private boolean m_requestStopReceiver
-
m_serverSocket
private java.net.ServerSocket m_serverSocket
-
m_outStream
protected java.io.OutputStream m_outStream
Outgoing message stream.
-
m_outWriter
private java.io.PrintWriter m_outWriter
Used to send ACK and STOP
-
m_inStream
protected volatile java.io.InputStream m_inStream
Incoming message stream.
-
m_inReader
protected volatile java.io.BufferedReader m_inReader
Used to receive ACK and STOP
-
m_readerThread
private BaseMessageSender.ReaderThread m_readerThread
-
m_ack
private boolean m_ack
-
m_serial
private int m_serial
-
m_latestAck
private java.lang.String m_latestAck
-
-
Method Detail
-
connect
public void connect() throws java.io.IOException
Starts the connection.- Specified by:
connect
in interfaceIMessageSender
- Throws:
org.testng.TestNGException
- if an exception occurred while establishing the connectionjava.io.IOException
-
sendAdminMessage
private void sendAdminMessage(java.lang.String message)
-
sendAck
public void sendAck()
- Specified by:
sendAck
in interfaceIMessageSender
-
sendStop
public void sendStop()
- Specified by:
sendStop
in interfaceIMessageSender
-
initReceiver
public void initReceiver() throws java.net.SocketTimeoutException
Description copied from interface:IMessageSender
Initialize the receiver. the underlying socket server will be polling until a first client connect.- Specified by:
initReceiver
in interfaceIMessageSender
- Throws:
java.net.SocketTimeoutException
-
stopReceiver
public void stopReceiver()
Description copied from interface:IMessageSender
Stop the receiver. it provides a way that allow the API invoker to stop the receiver, e.g. break from a dead while loop- Specified by:
stopReceiver
in interfaceIMessageSender
-
shutDown
public void shutDown()
- Specified by:
shutDown
in interfaceIMessageSender
-
closeQuietly
private void closeQuietly(java.io.Closeable c)
-
waitForAck
protected void waitForAck()
-
p
private static void p(java.lang.String msg)
-
-