Class SocketConnection


  • public class SocketConnection
    extends java.lang.Object
    This class encapsulates a Socket connection and has methods that allow to read and write into the Object streams created from this connection.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.io.ObjectInputStream objInputStream
      used to read message objects sent in the socket connection.
      private java.io.ObjectOutputStream objOutputStream
      used to write message objects into the socket connection.
      private java.net.Socket socket
      Contains the Socket connection between the Replication master and the slave.
    • Constructor Summary

      Constructors 
      Constructor Description
      SocketConnection​(java.net.Socket socket)
      Constructor creates the streams from the socket object passed as parameter.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object readMessage()
      Used to read the object messages that are sent.
      void tearDown()
      Closes the Socket and the object streams obtained from it.
      void writeMessage​(java.lang.Object message)
      Used to send the object messages across the socket conection.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • socket

        private final java.net.Socket socket
        Contains the Socket connection between the Replication master and the slave.
      • objOutputStream

        private final java.io.ObjectOutputStream objOutputStream
        used to write message objects into the socket connection.
      • objInputStream

        private final java.io.ObjectInputStream objInputStream
        used to read message objects sent in the socket connection.
    • Constructor Detail

      • SocketConnection

        public SocketConnection​(java.net.Socket socket)
                         throws java.io.IOException
        Constructor creates the streams from the socket object passed as parameter.
        Parameters:
        socket - the Socket object that this class encapsulates.
        Throws:
        java.io.IOException - If an exception occurs while creating the streams from the socket object.
    • Method Detail

      • readMessage

        public java.lang.Object readMessage()
                                     throws java.lang.ClassNotFoundException,
                                            java.io.IOException
        Used to read the object messages that are sent. waits on the input stream until a data is present that can be read and returns this data.
        Returns:
        the data read from the connection.
        Throws:
        java.lang.ClassNotFoundException - Class of a serialized object cannot be found.
        java.io.IOException - if an exception occurs while reading from the stream.
      • writeMessage

        public void writeMessage​(java.lang.Object message)
                          throws java.io.IOException
        Used to send the object messages across the socket conection.
        Parameters:
        message - the data to be written into the connection.
        Throws:
        java.io.IOException - if an exception occurs while writing into the stream.
      • tearDown

        public void tearDown()
                      throws java.io.IOException
        Closes the Socket and the object streams obtained from it.
        Throws:
        java.io.IOException - if an exception occurs while trying to close the socket or the streams.