Package com.mckoi.database.jdbcserver
Class TCPServer
- java.lang.Object
-
- com.mckoi.database.jdbcserver.TCPServer
-
public final class TCPServer extends java.lang.ObjectA TCP/IP socket server that opens a single port and allows JDBC clients to connect through the port to talk with the database.
-
-
Field Summary
Fields Modifier and Type Field Description private java.net.InetAddressaddressThe InetAddress the JDBC server is bound to.private ConnectionPoolServerconnection_poolThe ConnectionPoolServer that polls the ServerConnection for new commands to process.private java.lang.Stringconnection_pool_modelThe connection pool model used for this server.private DatabasedatabaseThe parent Database object that describes everything about the database this TCP server is for.private intportThe port the JDBC server is on.private java.net.ServerSocketserver_socketThe ServerSocket object where the database server is bound.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancheckAvailable(java.net.InetAddress bind_address, int tcp_port)Checks to see if there's already something listening on the jdbc port.voidclose()Closes the JDBC Server.DebugLoggerDebug()Returns a DebugLogger object that we can log debug messages to.intgetJDBCPort()Returns the port the JDBC server is on.private voidportConnection(java.net.Socket socket)Called whenever a new connection has been received on the port.voidstart(java.net.InetAddress bind_address, int tcp_port, java.lang.String connection_pool_model)Starts the server running.java.lang.StringtoString()Returns human understandable information about the server.
-
-
-
Field Detail
-
database
private Database database
The parent Database object that describes everything about the database this TCP server is for.
-
connection_pool
private ConnectionPoolServer connection_pool
The ConnectionPoolServer that polls the ServerConnection for new commands to process.
-
server_socket
private java.net.ServerSocket server_socket
The ServerSocket object where the database server is bound.
-
address
private java.net.InetAddress address
The InetAddress the JDBC server is bound to.
-
port
private int port
The port the JDBC server is on.
-
connection_pool_model
private java.lang.String connection_pool_model
The connection pool model used for this server.
-
-
Constructor Detail
-
TCPServer
public TCPServer(Database database)
Constructs the TCPServer over the given DatabaseSystem configuration.
-
-
Method Detail
-
Debug
public final DebugLogger Debug()
Returns a DebugLogger object that we can log debug messages to.
-
getJDBCPort
public int getJDBCPort()
Returns the port the JDBC server is on.
-
checkAvailable
public boolean checkAvailable(java.net.InetAddress bind_address, int tcp_port)Checks to see if there's already something listening on the jdbc port. Returns true if the jdbc port in the configuration is available, otherwise returns false.
-
start
public void start(java.net.InetAddress bind_address, int tcp_port, java.lang.String connection_pool_model)Starts the server running. This method returns immediately but spawns its own thread.
-
portConnection
private void portConnection(java.net.Socket socket) throws java.io.IOExceptionCalled whenever a new connection has been received on the port.- Throws:
java.io.IOException
-
close
public void close()
Closes the JDBC Server.
-
toString
public java.lang.String toString()
Returns human understandable information about the server.- Overrides:
toStringin classjava.lang.Object
-
-