Module org.firebirdsql.jaybird
Package org.firebirdsql.gds.ng.wire.version13

# Class V13WireOperations

java.lang.Object
org.firebirdsql.gds.ng.wire.AbstractWireOperations
org.firebirdsql.gds.ng.wire.version10.V10WireOperations
org.firebirdsql.gds.ng.wire.version11.V11WireOperations
org.firebirdsql.gds.ng.wire.version13.V13WireOperations

All Implemented Interfaces:
  `FbWireOperations`

Direct Known Subclasses:
  `V15WireOperations`

public class V13WireOperations extends V11WireOperations

Since:
  3.0
Author:
  Mark Rotteveel

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from interface org.firebirdsql.gds.ng.wire.FbWireOperations

  `FbWireOperations.ProcessAttachCallback`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `V13WireOperations(WireConnection<?,?> connection, WarningMessageCallback defaultWarningMessageCallback)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `authReceiveResponse(FbWireAttachment.AcceptPacket acceptPacket, DbCryptCallback dbCryptCallback, FbWireOperations.ProcessAttachCallback processAttachCallback)`
  Receive authentication response from the server.
  `protected void`
  `enableEncryption(EncryptionInitInfo encryptionInitInfo)`
  `final void`
  `handleCryptKeyCallback(DbCryptCallback dbCryptCallback)`
  Handles the database encryption key callback.
  `protected DbCryptData`
  `readCryptKeyCallback()`
  Reads the database encryption callback data from the connection.
  `protected void`
  `writeCryptKeyCallback(DbCryptData clientPluginResponse)`
  Writes the database encryption callback response data to the connection.

  ### Methods inherited from class org.firebirdsql.gds.ng.wire.version11.V11WireOperations

  `afterEnqueueDeferredAction, afterProcessDeferredActions, completeDeferredActions, completeDeferredActionsRequiresSync, deferredActionCount, enqueueDeferredAction, processDeferredActions`

  ### Methods inherited from class org.firebirdsql.gds.ng.wire.AbstractWireOperations

  `addServerKeys, clearServerKeys, consumePackets, getAttachProperties, getClientAuthBlock, getConnection, getDefaultWarningMessageCallback, getEncoding, getPluginSpecificData, getXdrIn, getXdrOut, getXdrStreamAccess, processOperation, processResponse, processResponseWarnings, readBatchCompletionResponse, readGenericResponse, readInlineBlobResponse, readNextOperation, readOperationResponse, readResponse, readSqlResponse, readStatusVector, readStatusVector, setNetworkTimeout, withLock, writeDirect`

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

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

- ## Constructor Details

  - ### V13WireOperations

    public V13WireOperations(WireConnection<?,?> connection, WarningMessageCallback defaultWarningMessageCallback)

- ## Method Details

  - ### authReceiveResponse

    public void authReceiveResponse(FbWireAttachment.AcceptPacket acceptPacket, DbCryptCallback dbCryptCallback, FbWireOperations.ProcessAttachCallback processAttachCallback) throws SQLException, IOException
    Description copied from interface: `FbWireOperations`
    Receive authentication response from the server.

    This method is only relevant for protocol V13 or higher.

    Specified by:
      `authReceiveResponse` in interface `FbWireOperations`
    Overrides:
      `authReceiveResponse` in class `V10WireOperations`
    Parameters:
      `acceptPacket` - Packet with `op_cond_accept` data, or `null` when the data should be read from the connection.
      `dbCryptCallback` - Database encryption callback (ignored by protocols v12 and lower)
      `processAttachCallback` - Callback for processing the final attach response
    Throws:
      `SQLException` - For errors returned from the server, or when attempting to read.
      `IOException` - For errors reading the response from the connection.

  - ### enableEncryption

    protected void enableEncryption(EncryptionInitInfo encryptionInitInfo) throws SQLException, IOException
    Throws:
      `SQLException`
      `IOException`

  - ### handleCryptKeyCallback

    public final void handleCryptKeyCallback(DbCryptCallback dbCryptCallback) throws IOException, SQLException
    Description copied from interface: `FbWireOperations`
    Handles the database encryption key callback.
    Specified by:
      `handleCryptKeyCallback` in interface `FbWireOperations`
    Overrides:
      `handleCryptKeyCallback` in class `AbstractWireOperations`
    Parameters:
      `dbCryptCallback` - Database encryption callback plugin
    Throws:
      `IOException` - For errors reading data from the socket
      `SQLException` - For database errors
      `SQLFeatureNotSupportedException` - If this protocol version does not support crypt key callbacks

  - ### readCryptKeyCallback

    protected DbCryptData readCryptKeyCallback() throws IOException, SQLException
    Reads the database encryption callback data from the connection.
    Returns:
      Database encryption callback data received from server
    Throws:
      `IOException` - For errors reading data from the socket
      `SQLException` - For database errors

  - ### writeCryptKeyCallback

    protected void writeCryptKeyCallback(DbCryptData clientPluginResponse) throws SQLException, IOException
    Writes the database encryption callback response data to the connection.
    Parameters:
      `clientPluginResponse` - Database encryption callback response data to be sent to the server
    Throws:
      `IOException` - For errors reading data from the socket
      `SQLException` - For database errors