Class SharedLocalNamedPipe


  • public class SharedLocalNamedPipe
    extends SharedSocket
    This class implements inter-process communication (IPC) to the database server using local named pipes (will only work on Windows).
    Version:
    $Id: SharedLocalNamedPipe.java,v 1.12 2007/07/08 21:38:13 bheineman Exp $
    Author:
    Adam Etheredge
    • Field Detail

      • pipe

        java.io.RandomAccessFile pipe
        The named pipe as a file.
    • Constructor Detail

      • SharedLocalNamedPipe

        public SharedLocalNamedPipe​(ConnectionJDBC2 connection)
                             throws java.io.IOException
        Creates a new instance of SharedLocalNamedPipe.
        Parameters:
        connection - the connection object
        Throws:
        java.io.IOException - if an I/O error occurs
    • Method Detail

      • isConnected

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

        byte[] sendNetPacket​(int streamId,
                             byte[] buffer)
                      throws java.io.IOException
        Send an network packet. If output for another virtual socket is in progress this packet will be sent later.
        Overrides:
        sendNetPacket in class SharedSocket
        Parameters:
        streamId - the originating RequestStream object
        buffer - the data to send
        Returns:
        the same buffer received if emptied or another buffer w/ the same size if the incoming buffer is cached (to avoid copying)
        Throws:
        java.io.IOException - if an I/O error occurs
      • close

        void close()
            throws java.io.IOException
        Close the named pipe and virtual sockets and release any resources.
        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
      • setTimeout

        protected void setTimeout​(int timeout)
        Set the socket timeout.
        Overrides:
        setTimeout in class SharedSocket
        Parameters:
        timeout - the timeout value in milliseconds