# Uses of Interface
org.mariadb.jdbc.internal.protocol.Protocol

Packages that use Protocol
Package
Description
org.mariadb.jdbc
org.mariadb.jdbc.internal.com.read.dao
org.mariadb.jdbc.internal.com.read.resultset
org.mariadb.jdbc.internal.com.send
org.mariadb.jdbc.internal.failover
org.mariadb.jdbc.internal.failover.impl
org.mariadb.jdbc.internal.logging
org.mariadb.jdbc.internal.protocol
org.mariadb.jdbc.internal.util
org.mariadb.jdbc.internal.util.dao

## Uses of Protocol in org.mariadb.jdbc

Fields in org.mariadb.jdbc declared as Protocol
Modifier and Type
Field
Description
`protected Protocol`
MariaDbStatement.`protocol`
the protocol used to talk to the server.
Methods in org.mariadb.jdbc that return Protocol
Modifier and Type
Method
Description
`protected Protocol`
MariaDbConnection.`getProtocol()`
Methods in org.mariadb.jdbc with parameters of type Protocol
Modifier and Type
Method
Description
`protected void`
MariaDbStatement.`skipMoreResults(Protocol protocol)`
Constructors in org.mariadb.jdbc with parameters of type Protocol
Modifier
Constructor
Description
``
`MariaDbConnection(Protocol protocol)`
Creates a new connection with a given protocol and query factory.

## Uses of Protocol in org.mariadb.jdbc.internal.com.read.dao

Methods in org.mariadb.jdbc.internal.com.read.dao with parameters of type Protocol
Modifier and Type
Method
Description
`ResultSet`
CmdInformation.`getBatchGeneratedKeys(Protocol protocol)`
`ResultSet`
CmdInformationBatch.`getBatchGeneratedKeys(Protocol protocol)`
`ResultSet`
CmdInformationMultiple.`getBatchGeneratedKeys(Protocol protocol)`
`ResultSet`
CmdInformationSingle.`getBatchGeneratedKeys(Protocol protocol)`
`ResultSet`
CmdInformation.`getGeneratedKeys(Protocol protocol, String sql)`
`ResultSet`
CmdInformationBatch.`getGeneratedKeys(Protocol protocol, String sql)`
Return GeneratedKeys containing insert ids.
`ResultSet`
CmdInformationMultiple.`getGeneratedKeys(Protocol protocol, String sql)`
Return GeneratedKeys containing insert ids.
`ResultSet`
CmdInformationSingle.`getGeneratedKeys(Protocol protocol, String sql)`
Get generated Keys.
`ResultSet`
Results.`getGeneratedKeys(Protocol protocol)`
Send a resultSet that contain auto generated keys.
`boolean`
Results.`getMoreResults(int current, Protocol protocol)`
Position to next resultSet.
`boolean`
Results.`isFullyLoaded(Protocol protocol)`
Indicate if result contain result-set that is still streaming from server.
`void`
Results.`loadFully(boolean skip, Protocol protocol)`
Load fully current results.

## Uses of Protocol in org.mariadb.jdbc.internal.com.read.resultset

Methods in org.mariadb.jdbc.internal.com.read.resultset with parameters of type Protocol
Modifier and Type
Method
Description
`static ResultSet`
SelectResultSet.`createGeneratedData(long[] data, Protocol protocol, boolean findColumnReturnsOne)`
Create a result set from given data.
`static ResultSet`
SelectResultSet.`createResultSet(String[] columnNames, ColumnType[] columnTypes, String[][] data, Protocol protocol)`
Create a result set from given data.
Constructors in org.mariadb.jdbc.internal.com.read.resultset with parameters of type Protocol
Modifier
Constructor
Description
``
`SelectResultSet(ColumnDefinition[] columnDefinition, List<byte[]> resultSet, Protocol protocol, int resultSetScrollType)`
Create filled result-set.
``
`SelectResultSet(ColumnDefinition[] columnDefinition, Results results, Protocol protocol, PacketInputStream reader, boolean callableResult, boolean eofDeprecated)`
Create Streaming resultSet.
``
`UpdatableResultSet(ColumnDefinition[] columnsInformation, Results results, Protocol protocol, PacketInputStream reader, boolean callableResult, boolean eofDeprecated)`
Constructor.

## Uses of Protocol in org.mariadb.jdbc.internal.com.send

Constructors in org.mariadb.jdbc.internal.com.send with parameters of type Protocol
Modifier
Constructor
Description
``
`ComStmtPrepare(Protocol protocol, String sql)`

## Uses of Protocol in org.mariadb.jdbc.internal.failover

Fields in org.mariadb.jdbc.internal.failover declared as Protocol
Modifier and Type
Field
Description
`protected Protocol`
AbstractMastersListener.`currentProtocol`
Fields in org.mariadb.jdbc.internal.failover with type parameters of type Protocol
Modifier and Type
Field
Description
`protected final AtomicReference<Protocol>`
AbstractMastersReplicasListener.`waitNewMasterProtocol`
`protected final AtomicReference<Protocol>`
AbstractMastersReplicasListener.`waitNewSecondaryProtocol`
Methods in org.mariadb.jdbc.internal.failover that return Protocol
Modifier and Type
Method
Description
`Protocol`
AbstractMastersListener.`getCurrentProtocol()`
`Protocol`
Listener.`getCurrentProtocol()`
Methods in org.mariadb.jdbc.internal.failover with parameters of type Protocol
Modifier and Type
Method
Description
`void`
AbstractMastersListener.`abortConnection(Protocol protocol)`
Utility to force close existing connection.
`void`
AbstractMastersListener.`closeConnection(Protocol protocol)`
Utility to close existing connection.
`void`
Listener.`foundActiveMaster(Protocol protocol)`
`abstract void`
AbstractMastersReplicasListener.`foundActiveSecondary(Protocol newSecondaryProtocol)`
`HandleErrorResult`
AbstractMastersListener.`handleFailover(SQLException qe, Method method, Object[] args, Protocol protocol, boolean isClosed)`
Call when a failover is detected on master connection.
`HandleErrorResult`
AbstractMastersReplicasListener.`handleFailover(SQLException qe, Method method, Object[] args, Protocol protocol, boolean isClosed)`
Handle failover on master or replica connection.
`HandleErrorResult`
Listener.`handleFailover(SQLException qe, Method method, Object[] args, Protocol protocol, boolean wasClosed)`
`Object`
AbstractMastersListener.`invoke(Method method, Object[] args, Protocol specificProtocol)`
`Object`
Listener.`invoke(Method method, Object[] args, Protocol specificProtocol)`
`protected boolean`
AbstractMastersListener.`pingMasterProtocol(Protocol protocol)`
`protected void`
AbstractMastersListener.`setSessionReadOnly(boolean readOnly, Protocol protocol)`
`void`
AbstractMastersListener.`syncConnection(Protocol from, Protocol to)`
When switching between 2 connections, report existing connection parameter to the new used connection.
`void`
Listener.`syncConnection(Protocol from, Protocol to)`

## Uses of Protocol in org.mariadb.jdbc.internal.failover.impl

Fields in org.mariadb.jdbc.internal.failover.impl declared as Protocol
Modifier and Type
Field
Description
`protected Protocol`
MastersReplicasListener.`masterProtocol`
`protected Protocol`
MastersReplicasListener.`secondaryProtocol`
Methods in org.mariadb.jdbc.internal.failover.impl with parameters of type Protocol
Modifier and Type
Method
Description
`void`
MastersFailoverListener.`foundActiveMaster(Protocol protocol)`
method called when a new Master connection is found after a fallback.
`void`
MastersReplicasListener.`foundActiveMaster(Protocol newMasterProtocol)`
Method called when a new Master connection is found after a fallback.
`void`
MastersReplicasListener.`foundActiveSecondary(Protocol newSecondaryProtocol)`
Method called when a new secondary connection is found after a fallback.
`void`
MastersReplicasListener.`lockAndSwitchMaster(Protocol newMasterProtocol)`
Use the parameter newMasterProtocol as new current master connection.
`void`
MastersReplicasListener.`lockAndSwitchSecondary(Protocol newSecondaryProtocol)`
Use the parameter newSecondaryProtocol as new current secondary connection.
`List<HostAddress>`
AuroraListener.`retrieveAllEndpointsAndSet(Protocol protocol)`
Retrieves the information necessary to add a new endpoint.
`HostAddress`
AuroraListener.`searchByStartName(Protocol secondaryProtocol, List<HostAddress> loopAddress)`
Looks for the current master/writer instance via the secondary protocol if it is found within 3 attempts.

## Uses of Protocol in org.mariadb.jdbc.internal.logging

Constructors in org.mariadb.jdbc.internal.logging with parameters of type Protocol
Modifier
Constructor
Description
``
`ProtocolLoggingProxy(Protocol protocol, Options options)`
Constructor.

## Uses of Protocol in org.mariadb.jdbc.internal.protocol

Classes in org.mariadb.jdbc.internal.protocol that implement Protocol
Modifier and Type
Class
Description
`class`
`AbstractConnectProtocol`
`class`
`AbstractQueryProtocol`
`class`
`AuroraProtocol`
`class`
`MasterProtocol`
`class`
`MastersReplicasProtocol`
Constructors in org.mariadb.jdbc.internal.protocol with parameters of type Protocol
Modifier
Constructor
Description
``
`AbstractMultiSend(Protocol protocol, PacketOutputStream writer, Results results, List<String> queries, ThreadPoolExecutor readScheduler)`
Bulk execute for statement.executeBatch().
``
`AbstractMultiSend(Protocol protocol, PacketOutputStream writer, Results results, ClientPrepareResult clientPrepareResult, List<ParameterHolder[]> parametersList, ThreadPoolExecutor readScheduler)`
Bulk execute for client-side PreparedStatement.executeBatch (no prepare).
``
`AbstractMultiSend(Protocol protocol, PacketOutputStream writer, Results results, ServerPrepareResult serverPrepareResult, List<ParameterHolder[]> parametersList, String sql, ThreadPoolExecutor readScheduler)`
Bulk execute for Server PreparedStatement.executeBatch (when no COM_MULTI)
``
`AsyncMultiRead(BulkStatus status, Protocol protocol, AbstractMultiSend bulkSend, int paramCount, Results results, List<ParameterHolder[]> parametersList, List<String> queries, PrepareResult prepareResult)`
Read results async to avoid local and remote networking stack buffer overflow "lock".

## Uses of Protocol in org.mariadb.jdbc.internal.util

Methods in org.mariadb.jdbc.internal.util that return Protocol
Modifier and Type
Method
Description
`static Protocol`
Utils.`retrieveProxy(UrlParser urlParser, GlobalStateInfo globalInfo)`
Retrieve protocol corresponding to the failover options.
Methods in org.mariadb.jdbc.internal.util with parameters of type Protocol
Modifier and Type
Method
Description
`static String`
Utils.`nativeSql(String sql, Protocol protocol)`
Escape sql String.
`static ServerPrepareStatementCache`
ServerPrepareStatementCache.`newInstance(int size, Protocol protocol)`

## Uses of Protocol in org.mariadb.jdbc.internal.util.dao

Methods in org.mariadb.jdbc.internal.util.dao that return Protocol
Modifier and Type
Method
Description
`Protocol`
ServerPrepareResult.`getUnProxiedProtocol()`
Methods in org.mariadb.jdbc.internal.util.dao with parameters of type Protocol
Modifier and Type
Method
Description
`void`
ServerPrepareResult.`failover(int statementId, Protocol unProxiedProtocol)`
Update information after a failover.
Constructors in org.mariadb.jdbc.internal.util.dao with parameters of type Protocol
Modifier
Constructor
Description
``
`ServerPrepareResult(String sql, int statementId, ColumnDefinition[] columns, ColumnDefinition[] parameters, Protocol unProxiedProtocol)`
PrepareStatement Result object.