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`

### Field Summary

Fields
`static java.lang.String` `CHA_CHA_PLUGIN_SPI_CLASS_NAME`

### Constructor Summary

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

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `authReceiveResponse(FbWireAttachment.AcceptPacket acceptPacket, DbCryptCallback dbCryptCallback, FbWireOperations.ProcessAttachCallback processAttachCallback)` Receive authentication response from the server.
`protected void` `enableEncryption(EncryptionInitInfo encryptionInitInfo)`
`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, getPluginSpecificData, getXdrIn, getXdrOut, getXdrStreamAccess, processOperation, processResponse, processResponseWarnings, readBatchCompletionResponse, readGenericResponse, 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`

### Field Detail

#### CHA_CHA_PLUGIN_SPI_CLASS_NAME

    public static final java.lang.String CHA_CHA_PLUGIN_SPI_CLASS_NAME

See Also:
  Constant Field Values

### Constructor Detail

#### V13WireOperations

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

### 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

    public final void handleCryptKeyCallback(DbCryptCallback dbCryptCallback)
                                      throws java.io.IOException,
                                             java.sql.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:
  `java.io.IOException` - For errors reading data from the socket
  `java.sql.SQLException` - For database errors
  `java.sql.SQLFeatureNotSupportedException` - If this protocol version does not support crypt key callbacks

#### 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