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