Class SharedMemorySocket

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    public class SharedMemorySocket
    extends java.net.Socket
    • Field Detail

      • EVERYONE_SYNCHRONIZE_SDDL

        private static final java.lang.String EVERYONE_SYNCHRONIZE_SDDL
        See Also:
        Constant Field Values
      • WIN32API_OPTIONS

        private static final java.util.Map<java.lang.String,​java.lang.Object> WIN32API_OPTIONS
      • is

        private java.io.InputStream is
      • os

        private java.io.OutputStream os
      • memoryName

        private java.lang.String memoryName
      • serverRead

        private com.sun.jna.platform.win32.WinNT.HANDLE serverRead
      • serverWrote

        private com.sun.jna.platform.win32.WinNT.HANDLE serverWrote
      • clientRead

        private com.sun.jna.platform.win32.WinNT.HANDLE clientRead
      • clientWrote

        private com.sun.jna.platform.win32.WinNT.HANDLE clientWrote
      • connectionClosed

        private com.sun.jna.platform.win32.WinNT.HANDLE connectionClosed
      • view

        private com.sun.jna.Pointer view
      • bytesLeft

        private int bytesLeft
      • position

        private int position
      • timeout

        private int timeout
    • Constructor Detail

      • SharedMemorySocket

        public SharedMemorySocket​(java.lang.String name)
                           throws java.io.IOException
        Create ShareMemorySocket.
        Parameters:
        name - name
        Throws:
        java.io.IOException - exception
    • Method Detail

      • openEvent

        private static com.sun.jna.platform.win32.WinNT.HANDLE openEvent​(java.lang.String name)
      • mapMemory

        private static com.sun.jna.Pointer mapMemory​(java.lang.String mapName,
                                                     int mode,
                                                     int size)
        Map memory
        Parameters:
        mapName - map name
        mode - mode
        size - size
        Returns:
        Pointer
      • connect

        public void connect​(java.net.SocketAddress endpoint)
                     throws java.io.IOException
        Overrides:
        connect in class java.net.Socket
        Throws:
        java.io.IOException
      • lockMutex

        private com.sun.jna.platform.win32.WinNT.HANDLE lockMutex()
                                                           throws java.io.IOException
        Throws:
        java.io.IOException
      • getConnectNumber

        private int getConnectNumber()
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • connect

        public void connect​(java.net.SocketAddress endpoint,
                            int timeout)
                     throws java.io.IOException
        Overrides:
        connect in class java.net.Socket
        Throws:
        java.io.IOException
      • getInputStream

        public java.io.InputStream getInputStream()
        Overrides:
        getInputStream in class java.net.Socket
      • getOutputStream

        public java.io.OutputStream getOutputStream()
        Overrides:
        getOutputStream in class java.net.Socket
      • setTcpNoDelay

        public void setTcpNoDelay​(boolean b)
        Overrides:
        setTcpNoDelay in class java.net.Socket
      • setKeepAlive

        public void setKeepAlive​(boolean b)
        Overrides:
        setKeepAlive in class java.net.Socket
      • setReceiveBufferSize

        public void setReceiveBufferSize​(int size)
        Overrides:
        setReceiveBufferSize in class java.net.Socket
      • setSendBufferSize

        public void setSendBufferSize​(int size)
        Overrides:
        setSendBufferSize in class java.net.Socket
      • setSoLinger

        public void setSoLinger​(boolean b,
                                int i)
        Overrides:
        setSoLinger in class java.net.Socket
      • setSoTimeout

        public void setSoTimeout​(int t)
        Overrides:
        setSoTimeout in class java.net.Socket
      • shutdownInput

        public void shutdownInput()
        Overrides:
        shutdownInput in class java.net.Socket
      • shutdownOutput

        public void shutdownOutput()
        Overrides:
        shutdownOutput in class java.net.Socket
      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Overrides:
        close in class java.net.Socket