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 classBaseMessageSender.ReaderThreadReader thread that processes messages from the client.
-
Field Summary
Fields Modifier and Type Field Description private booleanm_ackprotected java.lang.Objectm_ackLockprotected java.net.Socketm_clientSocketprivate java.lang.Stringm_hostprotected java.io.BufferedReaderm_inReaderUsed to receive ACK and STOPprotected java.io.InputStreamm_inStreamIncoming message stream.private java.lang.Stringm_latestAckprotected java.io.OutputStreamm_outStreamOutgoing message stream.private java.io.PrintWriterm_outWriterUsed to send ACK and STOPprivate intm_portprivate BaseMessageSender.ReaderThreadm_readerThreadprivate booleanm_requestStopReceiverprivate intm_serialprivate java.net.ServerSocketm_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 voidcloseQuietly(java.io.Closeable c)voidconnect()Starts the connection.voidinitReceiver()Initialize the receiver.private static voidp(java.lang.String msg)voidsendAck()private voidsendAdminMessage(java.lang.String message)voidsendStop()voidshutDown()voidstopReceiver()Stop the receiver.protected voidwaitForAck()-
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.IOExceptionStarts the connection.- Specified by:
connectin 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:
sendAckin interfaceIMessageSender
-
sendStop
public void sendStop()
- Specified by:
sendStopin interfaceIMessageSender
-
initReceiver
public void initReceiver() throws java.net.SocketTimeoutExceptionDescription copied from interface:IMessageSenderInitialize the receiver. the underlying socket server will be polling until a first client connect.- Specified by:
initReceiverin interfaceIMessageSender- Throws:
java.net.SocketTimeoutException
-
stopReceiver
public void stopReceiver()
Description copied from interface:IMessageSenderStop 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:
stopReceiverin interfaceIMessageSender
-
shutDown
public void shutDown()
- Specified by:
shutDownin interfaceIMessageSender
-
closeQuietly
private void closeQuietly(java.io.Closeable c)
-
waitForAck
protected void waitForAck()
-
p
private static void p(java.lang.String msg)
-
-