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

      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 and Description
    `V13WireOperations(WireConnection<?,?> connection, WarningMessageCallback defaultWarningMessageCallback, java.lang.Object syncObject)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `authReceiveResponse(FbWireAttachment.AcceptPacket acceptPacket, DbCryptCallback dbCryptCallback, FbWireOperations.ProcessAttachCallback processAttachCallback)` Receive authentication response from the server.
    `protected void` | `enableEncryption(EncryptionInitInfo encryptionInitInfo)`
    `protected 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

      `enqueueDeferredAction, processDeferredActions`

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

      `addServerKeys, clearServerKeys, consumePackets, getAttachProperties, getClientAuthBlock, getConnection, getDefaultWarningMessageCallback, getEncoding, getEncryptionIdentifiers, getSynchronizationObject, getXdrIn, getXdrOut, getXdrStreamAccess, processOperation, processResponse, processResponseWarnings, readGenericResponse, readNextOperation, readOperationResponse, readResponse, readSingleResponse, readSqlResponse, readStatusVector, writeDirect`

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

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

- - ### Constructor Detail

    - #### V13WireOperations

          public V13WireOperations(WireConnection<?,?> connection,
                           WarningMessageCallback defaultWarningMessageCallback,
                           java.lang.Object syncObject)

  - ### Method Detail

    - #### authReceiveResponse

          public void authReceiveResponse(FbWireAttachment.AcceptPacket acceptPacket,
                                 DbCryptCallback dbCryptCallback,
                                 FbWireOperations.ProcessAttachCallback processAttachCallback)
                                   throws java.sql.SQLException,
                                          java.io.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:
        `java.sql.SQLException` - For errors returned from the server, or when attempting to read.
        `java.io.IOException` - For errors reading the response from the connection.

    - #### enableEncryption

          protected void enableEncryption(EncryptionInitInfo encryptionInitInfo)
                                   throws java.sql.SQLException,
                                          java.io.IOException

      Throws:
        `java.sql.SQLException`
        `java.io.IOException`

    - #### handleCryptKeyCallback

          protected final void handleCryptKeyCallback(DbCryptCallback dbCryptCallback)
                                               throws java.io.IOException,
                                                      java.sql.SQLException

      Handles the database encryption key callback.
      Parameters:
        `dbCryptCallback` - Database encryption callback plugin
      Throws:
        `java.io.IOException` - For errors reading data from the socket
        `java.sql.SQLException` - For database errors

    - #### readCryptKeyCallback

          protected DbCryptData readCryptKeyCallback()
                                              throws java.io.IOException,
                                                     java.sql.SQLException

      Reads the database encryption callback data from the connection.
      Returns:
        Database encryption callback data received from server
      Throws:
        `java.io.IOException` - For errors reading data from the socket
        `java.sql.SQLException` - For database errors

    - #### writeCryptKeyCallback

          protected void writeCryptKeyCallback(DbCryptData clientPluginResponse)
                                        throws java.sql.SQLException,
                                               java.io.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:
        `java.io.IOException` - For errors reading data from the socket
        `java.sql.SQLException` - For database errors

Copyright © 2001-2021 Jaybird (Firebird JDBC/JCA) team. All rights reserved.