# Package com.mysql.cj.protocol

Interface Summary
AuthenticationPlugin<M extends Message>: Implementors of this interface can be installed via the "authenticationPlugins" configuration property.
AuthenticationProvider<M extends Message>
ColumnDefinition: Represents protocol specific result set metadata, eg., for native protocol, Protocol::ColumnDefinition41 protocol entity.
Message: Message is the content of a full single message (native protocol packet or protobuf message), independent from on-wire splitting, communicated with the server.
MessageHeader: Represents the protocol specific message header
MessageListener<M extends Message>: Sink for messages that are read asynchonously from the socket.
MessageReader<H extends MessageHeader,M extends Message>
MessageSender<M extends Message>: This interface provides a facility for sending messages to server.
OutputStreamWatcher: Objects that want to be notified of lifecycle events on a WatchableOutputStream should implement this interface, and register themselves with setWatcher() on the WatchableOutputStream instance.
PacketReceivedTimeHolder: Holds the time the last packet was received.
PacketSentTimeHolder: Holds the time the last packet was sent.
Protocol<M extends Message>: A protocol provides the facilities to communicate with a MySQL server.
Protocol.ProtocolEventHandler
Protocol.ProtocolEventListener
ProtocolEntity
ProtocolEntityFactory<T,M extends Message>
ProtocolEntityReader<T extends ProtocolEntity,M extends Message>
ResultBuilder<T>: Classes implementing this interface are responsible for building result of specific type from incoming ProtocolEntity objects.
Resultset: Represents protocol specific result set, eg., for native protocol, a ProtocolText::Resultset or ProtocolBinary::Resultset entity.
ResultsetRow: Classes that implement this interface represent one row of data from the MySQL server that might be stored in different ways depending on whether the result set was streaming (so they wrap a reusable packet), or whether the result set was cached or via a server-side cursor (so they represent a byte[][]).
ResultsetRows: This interface abstracts away how row data is accessed by the result set.
ResultsetRowsOwner
ResultStreamer: A result streamer is a result object that is streaming results from the current connection.
ServerCapabilities: Represents server capabilities, retrieved right after creating physical connection and before handshake.
ServerSession: Keeps the effective states of server/session variables, contains methods for initial retrieving of these states and for their actualization.
ServerSessionStateController
ServerSessionStateController.ServerSessionStateChanges: The object containing server session changes collected from the latest query execution.
ServerSessionStateController.SessionStateChangesListener
SocketConnection: Represents physical connection with endpoint
SocketFactory: Interface to allow pluggable socket creation in the driver
SocketMetadata
ValueDecoder: A value decoder is responsible for interpreting a byte array as a value.
ValueEncoder
Warning
WatchableStream

Class Summary
FullReadInputStream: InputStream wrapper that provides methods to aggregate reads of a given size.
InternalDate
InternalTime
InternalTimestamp
NetworkResources
ServerSessionStateController.SessionStateChange: A single server session change record.

Enum Summary
Protocol.ProtocolEventListener.EventType
Resultset.Concurrency
Resultset.Type

Copyright © 2016, 2026, Oracle and/or its affiliates.