Class V10Service
- java.lang.Object
-
- org.firebirdsql.gds.ng.AbstractFbAttachment<T>
-
- org.firebirdsql.gds.ng.AbstractFbService<WireServiceConnection>
-
- org.firebirdsql.gds.ng.wire.AbstractFbWireService
-
- org.firebirdsql.gds.ng.wire.version10.V10Service
-
- All Implemented Interfaces:
java.lang.AutoCloseable,FbAttachment,FbService,ExceptionListenable,FbWireAttachment,FbWireService
public class V10Service extends AbstractFbWireService implements FbWireService
FbWireServiceimplementation for the V10 wire protocol- Since:
- 3.0
- Author:
- Mark Rotteveel
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.firebirdsql.gds.ng.wire.FbWireAttachment
FbWireAttachment.AcceptPacket
-
-
Field Summary
-
Fields inherited from class org.firebirdsql.gds.ng.wire.AbstractFbWireService
protocolDescriptor, wireOperations
-
Fields inherited from class org.firebirdsql.gds.ng.AbstractFbService
serviceListenerDispatcher
-
Fields inherited from class org.firebirdsql.gds.ng.AbstractFbAttachment
connection, exceptionListenerDispatcher
-
-
Constructor Summary
Constructors Constructor Description V10Service(WireServiceConnection connection, ProtocolDescriptor descriptor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidafterAttachActions()voidattach()Attach to the attachment type.voidauthReceiveResponse(FbWireAttachment.AcceptPacket acceptPacket)Receive authentication response from the server.protected voidcloseConnection()Closes the WireConnection associated with this connection.protected voidfinalize()intgetHandle()byte[]getServiceInfo(ServiceParameterBuffer serviceParameterBuffer, ServiceRequestBuffer serviceRequestBuffer, int maxBufferLength)Performs a service info request (service query.protected voidinternalDetach()Actual implementation of service detach.protected voidprocessAttachResponse(GenericResponse genericResponse)Processes the response from the server to the attach or create operation.protected voidsendAttachToBuffer(ServiceParameterBuffer spb)Sends the buffer for op_service_attachvoidstartServiceAction(ServiceRequestBuffer serviceRequestBuffer)Starts a service action.-
Methods inherited from class org.firebirdsql.gds.ng.wire.AbstractFbWireService
checkAttached, checkConnected, createServiceParameterBuffer, createServiceRequestBuffer, forceClose, getXdrIn, getXdrOut, getXdrStreamAccess, isAttached, readGenericResponse, setNetworkTimeout
-
Methods inherited from class org.firebirdsql.gds.ng.AbstractFbService
addServiceListener, close, getDescribeServiceRequestBuffer, getServiceInfo, getServiceInformationProcessor, getServiceWarningCallback, removeServiceListener
-
Methods inherited from class org.firebirdsql.gds.ng.AbstractFbAttachment
addExceptionListener, getDatatypeCoder, getEncoding, getEncodingFactory, getNetworkTimeout, getServerVersion, getServerVersionInformation, getSynchronizationObject, removeExceptionListener, safelyDetach, setAttached, setDetached, setServerVersion
-
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.firebirdsql.gds.ng.listeners.ExceptionListenable
addExceptionListener, removeExceptionListener
-
Methods inherited from interface org.firebirdsql.gds.ng.FbAttachment
close, forceClose, getDatatypeCoder, getEncoding, getEncodingFactory, getNetworkTimeout, getServerVersion, getSynchronizationObject, isAttached, setNetworkTimeout
-
Methods inherited from interface org.firebirdsql.gds.ng.FbService
addServiceListener, createServiceParameterBuffer, createServiceRequestBuffer, getServiceInfo, removeServiceListener
-
Methods inherited from interface org.firebirdsql.gds.ng.wire.FbWireAttachment
getXdrStreamAccess, readGenericResponse
-
-
-
-
Constructor Detail
-
V10Service
public V10Service(WireServiceConnection connection, ProtocolDescriptor descriptor)
-
-
Method Detail
-
getHandle
public int getHandle()
- Specified by:
getHandlein interfaceFbAttachment- Specified by:
getHandlein interfaceFbService- Returns:
- The service handle value
-
attach
public void attach() throws java.sql.SQLExceptionDescription copied from interface:FbAttachmentAttach to the attachment type.- Specified by:
attachin interfaceFbAttachment- Throws:
java.sql.SQLException
-
processAttachResponse
protected void processAttachResponse(GenericResponse genericResponse)
Processes the response from the server to the attach or create operation.- Parameters:
genericResponse- GenericResponse received from the server.
-
afterAttachActions
protected void afterAttachActions() throws java.sql.SQLException- Throws:
java.sql.SQLException
-
sendAttachToBuffer
protected void sendAttachToBuffer(ServiceParameterBuffer spb) throws java.sql.SQLException, java.io.IOException
Sends the buffer for op_service_attach- Parameters:
spb- Service parameter buffer- Throws:
java.sql.SQLException- If the connection is not openjava.io.IOException- For errors writing to the connection
-
internalDetach
protected void internalDetach() throws java.sql.SQLExceptionDescription copied from class:AbstractFbServiceActual implementation of service detach.Implementations of this method should only be called from
AbstractFbService.close(), and should not notify service listeners of the serviceServiceListener.detaching(FbService)andServiceListener.detached(FbService)events.- Specified by:
internalDetachin classAbstractFbService<WireServiceConnection>- Throws:
java.sql.SQLException
-
getServiceInfo
public byte[] getServiceInfo(ServiceParameterBuffer serviceParameterBuffer, ServiceRequestBuffer serviceRequestBuffer, int maxBufferLength) throws java.sql.SQLException
Description copied from interface:FbServicePerforms a service info request (service query.- Specified by:
getServiceInfoin interfaceFbService- Parameters:
serviceParameterBuffer- Service parameters (can be null)serviceRequestBuffer- Service request infomaxBufferLength- Maximum response buffer length to use- Returns:
- The response buffer (note: length is the actual length of the response, not
maxBufferLength - Throws:
java.sql.SQLException- For errors retrieving the information.
-
startServiceAction
public void startServiceAction(ServiceRequestBuffer serviceRequestBuffer) throws java.sql.SQLException
Description copied from interface:FbServiceStarts a service action.- Specified by:
startServiceActionin interfaceFbService- Parameters:
serviceRequestBuffer- Service action request details- Throws:
java.sql.SQLException- For errors starting the service action.
-
closeConnection
protected final void closeConnection() throws java.io.IOExceptionCloses the WireConnection associated with this connection.- Throws:
java.io.IOException- For errors closing the connection.
-
finalize
protected void finalize() throws java.lang.Throwable- Overrides:
finalizein classjava.lang.Object- Throws:
java.lang.Throwable
-
authReceiveResponse
public final void authReceiveResponse(FbWireAttachment.AcceptPacket acceptPacket) throws java.io.IOException, java.sql.SQLException
Description copied from interface:FbWireAttachmentReceive authentication response from the server.This method is only relevant for protocol V13 or higher.
- Specified by:
authReceiveResponsein interfaceFbWireAttachment- Parameters:
acceptPacket- Packet withop_cond_acceptdata, ornullwhen the data should be read from the connection.- Throws:
java.io.IOException- For errors reading the response from the connection.java.sql.SQLException- For errors returned from the server, or when attempting to read.
-
-