SharedNamedPipe (jTDS API)
Date: 2013-06-08

net.sourceforge.jtds.jdbc

## 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.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class net.sourceforge.jtds.jdbc.SharedSocket

      `SharedSocket.VirtualSocket`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private jcifs.smb.SmbNamedPipe` | `pipe` The shared named pipe.

    - ### Fields inherited from class net.sourceforge.jtds.jdbc.SharedSocket

      `serverType`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SharedNamedPipe(JtdsConnection connection)` Creates a new instance of `SharedNamedPipe`.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `(package private) void` | `close()` Close the socket (noop if in shared mode).
    `(package private) void` | `forceClose()` Force close the socket causing any pending reads/writes to fail.
    `(package private) java.lang.String` | `getMAC()`
    `private jcifs.smb.SmbNamedPipe` | `getPipe()` Getter for `pipe` field.
    `(package private) boolean` | `isConnected()` Get the connected status of this socket.
    `private void` | `setPipe(jcifs.smb.SmbNamedPipe pipe)` Setter for `pipe` field.
    `protected void` | `setTimeout(int timeout)` Set the socket timeout.

    - ### Methods inherited from class net.sourceforge.jtds.jdbc.SharedSocket

      `cancel, closeStream, disableEncryption, enableEncryption, finalize, getCharset, getCharsetInfo, getHost, getIn, getMemoryBudget, getMinMemPkts, getNetPacket, getOut, getPktLen, getPort, getRequestStream, getResponseStream, getTdsVersion, sendNetPacket, setCharsetInfo, setIn, setKeepAlive, setMemoryBudget, setMinMemPkts, setOut, setTdsVersion`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### pipe

          private jcifs.smb.SmbNamedPipe pipe

      The shared named pipe.

  - ### Constructor Detail

    - #### SharedNamedPipe

          public SharedNamedPipe(JtdsConnection connection)
                          throws java.io.IOException

      Creates a new instance of `SharedNamedPipe`.
      Parameters:
        `connection` -
      Throws:
        `java.io.IOException` - if the named pipe or its input or output streams do not open
        `java.net.UnknownHostException` - if host cannot be found for the named pipe

  - ### Method Detail

    - #### getMAC

          java.lang.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 java.io.IOException

      Close the socket (noop if in shared mode).
      Overrides:
        `close` in class `SharedSocket`
      Throws:
        `java.io.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

Generated on June 8 2013