Class SharedNamedPipe

java.lang.Object
net.sourceforge.jtds.jdbc.SharedSocket
net.sourceforge.jtds.jdbc.SharedNamedPipe

public class SharedNamedPipe extends SharedSocket
This class implements inter-process communication (IPC) to the database server using named pipes.
Version:
$Id: SharedNamedPipe.java,v 1.19.2.2 2009-12-10 09:54:04 ickzon Exp $
Author:
David D. Kilzer
To do:
Extract abstract base class SharedIpc from SharedSocket and this class., Implement connection timeouts for named pipes.
  • Field Details

    • pipe

      private jcifs.smb.SmbNamedPipe pipe
      The shared named pipe.
  • Constructor Details

    • SharedNamedPipe

      public SharedNamedPipe(JtdsConnection connection) throws IOException
      Creates a new instance of SharedNamedPipe.
      Parameters:
      connection -
      Throws:
      IOException - if the named pipe or its input or output streams do not open
      UnknownHostException - if host cannot be found for the named pipe
  • Method Details

    • getMAC

      String getMAC()
      Overrides:
      getMAC in class SharedSocket
    • isConnected

      boolean isConnected()
      Get the connected status of this socket.
      Overrides:
      isConnected in class SharedSocket
      Returns:
      true if the underlying socket is connected
    • close

      void close() throws IOException
      Close the socket (noop if in shared mode).
      Overrides:
      close in class SharedSocket
      Throws:
      IOException - if the socket close fails
    • forceClose

      void forceClose()
      Force close the socket causing any pending reads/writes to fail.

      Used by the login timer to abort a login attempt.

      Overrides:
      forceClose in class SharedSocket
    • getPipe

      private jcifs.smb.SmbNamedPipe getPipe()
      Getter for pipe field.
      Returns:
      SmbNamedPipe used for communication
    • setPipe

      private void setPipe(jcifs.smb.SmbNamedPipe pipe)
      Setter for pipe field.
      Parameters:
      pipe - SmbNamedPipe to be used for communication
    • setTimeout

      protected void setTimeout(int timeout)
      Set the socket timeout.

      Noop for now; timeouts are not implemented for SMB named pipes.

      Overrides:
      setTimeout in class SharedSocket
      Parameters:
      timeout - timeout value in milliseconds