## Uses of Class
org.apache.cassandra.transport.ProtocolVersion

Packages that use ProtocolVersion
org.apache.cassandra.cql3
org.apache.cassandra.cql3.functions
org.apache.cassandra.cql3.selection
org.apache.cassandra.db
org.apache.cassandra.db.marshal
org.apache.cassandra.serializers
org.apache.cassandra.service.pager
org.apache.cassandra.transport

### Uses of ProtocolVersion in org.apache.cassandra.cql3

Methods in org.apache.cassandra.cql3 that return ProtocolVersion
`abstract ProtocolVersion` QueryOptions.`getProtocolVersion()` The protocol version for the query.

Methods in org.apache.cassandra.cql3 with parameters of type ProtocolVersion
`static QueryOptions` QueryOptions.`create(ConsistencyLevel consistency, java.util.List<java.nio.ByteBuffer> values, boolean skipMetadata, int pageSize, PagingState pagingState, ConsistencyLevel serialConsistency, ProtocolVersion version)`
`ResultSet` ResultSet.Codec.`decode(io.netty.buffer.ByteBuf body, ProtocolVersion version)`
`void` ResultSet.Codec.`encode(ResultSet rs, io.netty.buffer.ByteBuf dest, ProtocolVersion version)`
`int` ResultSet.Codec.`encodedSize(ResultSet rs, ProtocolVersion version)`
`static QueryOptions` QueryOptions.`forProtocolVersion(ProtocolVersion protocolVersion)`
`static Lists.Value` Lists.Value.`fromSerialized(java.nio.ByteBuffer value, ListType type, ProtocolVersion version)`
`static Maps.Value` Maps.Value.`fromSerialized(java.nio.ByteBuffer value, MapType type, ProtocolVersion version)`
`static Sets.Value` Sets.Value.`fromSerialized(java.nio.ByteBuffer value, SetType type, ProtocolVersion version)`
`java.nio.ByteBuffer` Constants.Value.`get(ProtocolVersion protocolVersion)`
`java.nio.ByteBuffer` Lists.Value.`get(ProtocolVersion protocolVersion)`
`java.nio.ByteBuffer` Maps.Value.`get(ProtocolVersion protocolVersion)`
`java.nio.ByteBuffer` Sets.Value.`get(ProtocolVersion protocolVersion)`
`abstract java.nio.ByteBuffer` Term.Terminal.`get(ProtocolVersion protocolVersion)`
`java.nio.ByteBuffer` Tuples.Value.`get(ProtocolVersion protocolVersion)`
`java.nio.ByteBuffer` Tuples.InValue.`get(ProtocolVersion protocolVersion)`
`java.nio.ByteBuffer` UserTypes.Value.`get(ProtocolVersion protocolVersion)`
`static void` SuperColumnCompatibility.`processPartition(CFMetaData cfm, Selection selection, RowIterator partition, Selection.ResultSetBuilder result, ProtocolVersion protocolVersion, SuperColumnCompatibility.SuperColumnRestrictions restrictions, QueryOptions queryOptions)` For _dense_ SuperColumn Families.
`java.lang.String` CQL3Type.`toCQLLiteral(java.nio.ByteBuffer buffer, ProtocolVersion version)` Generates CQL literal from a binary value of this type.
`java.lang.String` CQL3Type.Native.`toCQLLiteral(java.nio.ByteBuffer buffer, ProtocolVersion version)` Delegate to `TypeSerializer.toCQLLiteral(ByteBuffer)` for native types as most CQL literal representations work fine with the default `TypeSerializer.toString(Object)` `TypeSerializer.deserialize(ByteBuffer)` implementations.
`java.lang.String` CQL3Type.Custom.`toCQLLiteral(java.nio.ByteBuffer buffer, ProtocolVersion version)`
`java.lang.String` CQL3Type.Collection.`toCQLLiteral(java.nio.ByteBuffer buffer, ProtocolVersion version)`
`java.lang.String` CQL3Type.UserDefined.`toCQLLiteral(java.nio.ByteBuffer buffer, ProtocolVersion version)`
`java.lang.String` CQL3Type.Tuple.`toCQLLiteral(java.nio.ByteBuffer buffer, ProtocolVersion version)`

### Uses of ProtocolVersion in org.apache.cassandra.cql3.functions

Methods in org.apache.cassandra.cql3.functions with parameters of type ProtocolVersion
`void` AggregateFunction.Aggregate.`addInput(ProtocolVersion protocolVersion, java.util.List<java.nio.ByteBuffer> values)` Adds the specified input to this aggregate.
`protected boolean` JavaUDF.`compose_boolean(ProtocolVersion protocolVersion, int argIndex, java.nio.ByteBuffer value)`
`protected byte` JavaUDF.`compose_byte(ProtocolVersion protocolVersion, int argIndex, java.nio.ByteBuffer value)`
`protected double` JavaUDF.`compose_double(ProtocolVersion protocolVersion, int argIndex, java.nio.ByteBuffer value)`
`protected float` JavaUDF.`compose_float(ProtocolVersion protocolVersion, int argIndex, java.nio.ByteBuffer value)`
`protected int` JavaUDF.`compose_int(ProtocolVersion protocolVersion, int argIndex, java.nio.ByteBuffer value)`
`protected long` JavaUDF.`compose_long(ProtocolVersion protocolVersion, int argIndex, java.nio.ByteBuffer value)`
`protected short` JavaUDF.`compose_short(ProtocolVersion protocolVersion, int argIndex, java.nio.ByteBuffer value)`
`protected java.lang.Object` JavaUDF.`compose(ProtocolVersion protocolVersion, int argIndex, java.nio.ByteBuffer value)`
`protected java.lang.Object` UDFunction.`compose(ProtocolVersion protocolVersion, int argIndex, java.nio.ByteBuffer value)` Used by UDF implementations (both Java code generated by `JavaBasedUDFunction` and script executor `ScriptBasedUDFunction`) to convert the C* serialized representation to the Java object representation.
`protected static java.lang.Object` UDFunction.`compose(com.datastax.driver.core.TypeCodec<java.lang.Object>[] codecs, ProtocolVersion protocolVersion, int argIndex, java.nio.ByteBuffer value)`
`java.nio.ByteBuffer` AggregateFunction.Aggregate.`compute(ProtocolVersion protocolVersion)` Computes and returns the aggregate current value.
`protected java.nio.ByteBuffer` JavaUDF.`decompose(ProtocolVersion protocolVersion, java.lang.Object value)`
`protected java.nio.ByteBuffer` UDFunction.`decompose(ProtocolVersion protocolVersion, java.lang.Object value)` Used by UDF implementations (both Java code generated by `JavaBasedUDFunction` and script executor `ScriptBasedUDFunction`) to convert the Java object representation for the return value to the C* serialized representation.
`protected static java.nio.ByteBuffer` UDFunction.`decompose(com.datastax.driver.core.TypeCodec<java.lang.Object> codec, ProtocolVersion protocolVersion, java.lang.Object value)`
`static java.lang.Object` UDHelper.`deserialize(com.datastax.driver.core.TypeCodec<?> codec, ProtocolVersion protocolVersion, java.nio.ByteBuffer value)`
`java.nio.ByteBuffer` FromJsonFct.`execute(ProtocolVersion protocolVersion, java.util.List<java.nio.ByteBuffer> parameters)`
`java.nio.ByteBuffer` ScalarFunction.`execute(ProtocolVersion protocolVersion, java.util.List<java.nio.ByteBuffer> parameters)` Applies this function to the specified parameter.
`java.nio.ByteBuffer` ToJsonFct.`execute(ProtocolVersion protocolVersion, java.util.List<java.nio.ByteBuffer> parameters)`
`java.nio.ByteBuffer` TokenFct.`execute(ProtocolVersion protocolVersion, java.util.List<java.nio.ByteBuffer> parameters)`
`java.nio.ByteBuffer` UDFunction.`execute(ProtocolVersion protocolVersion, java.util.List<java.nio.ByteBuffer> parameters)`
`protected abstract java.lang.Object` JavaUDF.`executeAggregateImpl(ProtocolVersion protocolVersion, java.lang.Object firstParam, java.util.List<java.nio.ByteBuffer> params)`
`protected java.lang.Object` JavaBasedUDFunction.`executeAggregateUserDefined(ProtocolVersion protocolVersion, java.lang.Object firstParam, java.util.List<java.nio.ByteBuffer> params)`
`protected abstract java.lang.Object` UDFunction.`executeAggregateUserDefined(ProtocolVersion protocolVersion, java.lang.Object firstParam, java.util.List<java.nio.ByteBuffer> parameters)`
`java.lang.Object` UDFunction.`executeForAggregate(ProtocolVersion protocolVersion, java.lang.Object firstParam, java.util.List<java.nio.ByteBuffer> parameters)` Like `ScalarFunction.execute(ProtocolVersion, List)` but the first parameter is already in non-serialized form.
`protected abstract java.nio.ByteBuffer` JavaUDF.`executeImpl(ProtocolVersion protocolVersion, java.util.List<java.nio.ByteBuffer> params)`
`protected java.nio.ByteBuffer` JavaBasedUDFunction.`executeUserDefined(ProtocolVersion protocolVersion, java.util.List<java.nio.ByteBuffer> params)`
`protected abstract java.nio.ByteBuffer` UDFunction.`executeUserDefined(ProtocolVersion protocolVersion, java.util.List<java.nio.ByteBuffer> parameters)`
`static java.nio.ByteBuffer` UDHelper.`serialize(com.datastax.driver.core.TypeCodec<?> codec, ProtocolVersion protocolVersion, java.lang.Object value)`

### Uses of ProtocolVersion in org.apache.cassandra.cql3.selection

Methods in org.apache.cassandra.cql3.selection with parameters of type ProtocolVersion
`abstract void` Selector.`addInput(ProtocolVersion protocolVersion, Selection.ResultSetBuilder rs)` Add the current value from the specified `ResultSetBuilder`.
`void` SimpleSelector.`addInput(ProtocolVersion protocolVersion, Selection.ResultSetBuilder rs)`
`void` TermSelector.`addInput(ProtocolVersion protocolVersion, Selection.ResultSetBuilder rs)`
`abstract java.nio.ByteBuffer` Selector.`getOutput(ProtocolVersion protocolVersion)` Returns the selector output.
`java.nio.ByteBuffer` SimpleSelector.`getOutput(ProtocolVersion protocolVersion)`
`java.nio.ByteBuffer` TermSelector.`getOutput(ProtocolVersion protocolVersion)`
`static java.util.List<java.nio.ByteBuffer>` Selection.`rowToJson(java.util.List<java.nio.ByteBuffer> row, ProtocolVersion protocolVersion, ResultSet.ResultMetadata metadata)`

### Uses of ProtocolVersion in org.apache.cassandra.db

Methods in org.apache.cassandra.db with parameters of type ProtocolVersion
`QueryPager` PartitionRangeReadCommand.`getPager(PagingState pagingState, ProtocolVersion protocolVersion)`
`QueryPager` ReadQuery.`getPager(PagingState pagingState, ProtocolVersion protocolVersion)` Returns a pager for the query.
`SinglePartitionPager` SinglePartitionReadCommand.`getPager(PagingState pagingState, ProtocolVersion protocolVersion)`
`QueryPager` SinglePartitionReadCommand.Group.`getPager(PagingState pagingState, ProtocolVersion protocolVersion)`

### Uses of ProtocolVersion in org.apache.cassandra.db.marshal

Methods in org.apache.cassandra.db.marshal with parameters of type ProtocolVersion
`java.nio.ByteBuffer` CollectionType.`serializeForNativeProtocol(java.util.Iterator<Cell> cells, ProtocolVersion version)`
`java.nio.ByteBuffer` UserType.`serializeForNativeProtocol(java.util.Iterator<Cell> cells, ProtocolVersion protocolVersion)`
`static java.lang.String` ListType.`setOrListToJsonString(java.nio.ByteBuffer buffer, AbstractType elementsType, ProtocolVersion protocolVersion)`
`java.lang.String` AbstractCompositeType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` AbstractType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)` Converts the specified value into its JSON representation.
`java.lang.String` AsciiType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` BooleanType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` ByteType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` BytesType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` ColumnToCollectionType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` CounterColumnType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` DateType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)` Deprecated.
`java.lang.String` DecimalType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` DoubleType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` DurationType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` EmptyType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` FloatType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` FrozenType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` InetAddressType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` Int32Type.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` IntegerType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` ListType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` LongType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` MapType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` PartitionerDefinedOrder.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` ReversedType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` SetType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` ShortType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` SimpleDateType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` TimeType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` TimestampType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` TupleType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` UTF8Type.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`
`java.lang.String` UserType.`toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)`

### Uses of ProtocolVersion in org.apache.cassandra.serializers

Methods in org.apache.cassandra.serializers with parameters of type ProtocolVersion
`abstract T` CollectionSerializer.`deserializeForNativeProtocol(java.nio.ByteBuffer buffer, ProtocolVersion version)`
`java.util.List<T>` ListSerializer.`deserializeForNativeProtocol(java.nio.ByteBuffer bytes, ProtocolVersion version)`
`java.util.Map<K,V>` MapSerializer.`deserializeForNativeProtocol(java.nio.ByteBuffer bytes, ProtocolVersion version)`
`java.util.Set<T>` SetSerializer.`deserializeForNativeProtocol(java.nio.ByteBuffer bytes, ProtocolVersion version)`
`static java.nio.ByteBuffer` CollectionSerializer.`pack(java.util.Collection<java.nio.ByteBuffer> buffers, int elements, ProtocolVersion version)`
`static int` CollectionSerializer.`readCollectionSize(java.nio.ByteBuffer input, ProtocolVersion version)`
`static java.nio.ByteBuffer` CollectionSerializer.`readValue(java.nio.ByteBuffer input, ProtocolVersion version)`
`protected static int` CollectionSerializer.`sizeOfCollectionSize(int elements, ProtocolVersion version)`
`static int` CollectionSerializer.`sizeOfValue(java.nio.ByteBuffer value, ProtocolVersion version)`
`abstract void` CollectionSerializer.`validateForNativeProtocol(java.nio.ByteBuffer buffer, ProtocolVersion version)`
`void` ListSerializer.`validateForNativeProtocol(java.nio.ByteBuffer bytes, ProtocolVersion version)`
`void` MapSerializer.`validateForNativeProtocol(java.nio.ByteBuffer bytes, ProtocolVersion version)`
`void` SetSerializer.`validateForNativeProtocol(java.nio.ByteBuffer bytes, ProtocolVersion version)`
`protected static void` CollectionSerializer.`writeCollectionSize(java.nio.ByteBuffer output, int elements, ProtocolVersion version)`
`static void` CollectionSerializer.`writeValue(java.nio.ByteBuffer output, java.nio.ByteBuffer value, ProtocolVersion version)`

### Uses of ProtocolVersion in org.apache.cassandra.service.pager

Methods in org.apache.cassandra.service.pager with parameters of type ProtocolVersion
`static PagingState.RowMark` PagingState.RowMark.`create(CFMetaData metadata, Row row, ProtocolVersion protocolVersion)`
`static PagingState` PagingState.`deserialize(java.nio.ByteBuffer bytes, ProtocolVersion protocolVersion)`
`java.nio.ByteBuffer` PagingState.`serialize(ProtocolVersion protocolVersion)`
`int` PagingState.`serializedSize(ProtocolVersion protocolVersion)`

Constructors in org.apache.cassandra.service.pager with parameters of type ProtocolVersion
Constructor and Description
`MultiPartitionPager(SinglePartitionReadCommand.Group group, PagingState state, ProtocolVersion protocolVersion)`
`PartitionRangeQueryPager(PartitionRangeReadCommand command, PagingState state, ProtocolVersion protocolVersion)`
`PartitionRangeQueryPager(ReadCommand command, ProtocolVersion protocolVersion, DecoratedKey lastReturnedKey, PagingState.RowMark lastReturnedRow, int remaining, int remainingInPartition)`
`SinglePartitionPager(SinglePartitionReadCommand command, PagingState state, ProtocolVersion protocolVersion)`

### Uses of ProtocolVersion in org.apache.cassandra.transport

Fields in org.apache.cassandra.transport declared as ProtocolVersion
`static ProtocolVersion` ProtocolVersion.`CURRENT` The preferred versions
`protected ProtocolVersion` Message.`forcedProtocolVersion`
`ProtocolVersion` Event.Type.`minimumVersion`
`ProtocolVersion` Frame.Header.`version`
`protected ProtocolVersion` SimpleClient.`version`

Fields in org.apache.cassandra.transport with type parameters of type ProtocolVersion
`static java.util.Optional<ProtocolVersion>` ProtocolVersion.`BETA`
`static java.util.EnumSet<ProtocolVersion>` ProtocolVersion.`SUPPORTED` All supported versions, published as an enumset
`static java.util.EnumSet<ProtocolVersion>` ProtocolVersion.`UNSUPPORTED` Old unsupported versions, this is OK as long as we never add newer unsupported versions

Methods in org.apache.cassandra.transport that return ProtocolVersion
`static ProtocolVersion` ProtocolVersion.`decode(int versionNum)`
`ProtocolVersion` ProtocolException.`getForcedProtocolVersion()`
`ProtocolVersion` DataType.`getProtocolVersion()`
`ProtocolVersion` Connection.`getVersion()`
`static ProtocolVersion` ProtocolVersion.`valueOf(java.lang.String name)` Returns the enum constant of this type with the specified name.
`static ProtocolVersion[]` ProtocolVersion.`values()` Returns an array containing the constants of this enum type, in the order they are declared.

Methods in org.apache.cassandra.transport with parameters of type ProtocolVersion
`static Frame` Frame.`create(Message.Type type, int streamId, ProtocolVersion version, java.util.EnumSet<Frame.Header.Flag> flags, io.netty.buffer.ByteBuf body)`
`T` CBCodec.`decode(io.netty.buffer.ByteBuf body, ProtocolVersion version)`
`Pair<DataType,java.lang.Object>` DataType.Codec.`decodeOne(io.netty.buffer.ByteBuf body, ProtocolVersion version)`
`static Event` Event.`deserialize(io.netty.buffer.ByteBuf cb, ProtocolVersion version)`
`static Event.SchemaChange` Event.SchemaChange.`deserializeEvent(io.netty.buffer.ByteBuf cb, ProtocolVersion version)`
`void` CBCodec.`encode(T t, io.netty.buffer.ByteBuf dest, ProtocolVersion version)`
`int` CBCodec.`encodedSize(T t, ProtocolVersion version)`
`protected abstract int` Event.`eventSerializedSize(ProtocolVersion version)`
`protected int` Event.TopologyChange.`eventSerializedSize(ProtocolVersion version)`
`protected int` Event.StatusChange.`eventSerializedSize(ProtocolVersion version)`
`int` Event.SchemaChange.`eventSerializedSize(ProtocolVersion version)`
`static Pair<DataType,java.lang.Object>` DataType.`fromType(AbstractType type, ProtocolVersion version)`
`int` DataType.`getId(ProtocolVersion version)`
`boolean` ProtocolVersion.`isGreaterOrEqualTo(ProtocolVersion other)`
`boolean` ProtocolVersion.`isGreaterThan(ProtocolVersion other)`
`boolean` ProtocolVersion.`isSmallerOrEqualTo(ProtocolVersion other)`
`boolean` ProtocolVersion.`isSmallerThan(ProtocolVersion other)`
`Connection` Connection.Factory.`newConnection(io.netty.channel.Channel channel, ProtocolVersion version)`
`int` DataType.Codec.`oneSerializedSize(Pair<DataType,java.lang.Object> option, ProtocolVersion version)`
`static java.nio.ByteBuffer` CBUtil.`readBoundValue(io.netty.buffer.ByteBuf cb, ProtocolVersion protocolVersion)`
`static Pair<java.util.List<java.lang.String>,java.util.List<java.nio.ByteBuffer>>` CBUtil.`readNameAndValueList(io.netty.buffer.ByteBuf cb, ProtocolVersion protocolVersion)`
`java.lang.Object` DataType.`readValue(io.netty.buffer.ByteBuf cb, ProtocolVersion version)`
`static java.util.List<java.nio.ByteBuffer>` CBUtil.`readValueList(io.netty.buffer.ByteBuf cb, ProtocolVersion protocolVersion)`
`void` Event.`serialize(io.netty.buffer.ByteBuf dest, ProtocolVersion version)`
`int` Event.`serializedSize(ProtocolVersion version)`
`int` DataType.`serializedValueSize(java.lang.Object value, ProtocolVersion version)`
`protected abstract void` Event.`serializeEvent(io.netty.buffer.ByteBuf dest, ProtocolVersion version)`
`protected void` Event.TopologyChange.`serializeEvent(io.netty.buffer.ByteBuf dest, ProtocolVersion version)`
`protected void` Event.StatusChange.`serializeEvent(io.netty.buffer.ByteBuf dest, ProtocolVersion version)`
`void` Event.SchemaChange.`serializeEvent(io.netty.buffer.ByteBuf dest, ProtocolVersion version)`
`QueryState` ServerConnection.`validateNewMessage(Message.Type type, ProtocolVersion version, int streamId)`
`void` DataType.Codec.`writeOne(Pair<DataType,java.lang.Object> option, io.netty.buffer.ByteBuf dest, ProtocolVersion version)`
`void` DataType.`writeValue(java.lang.Object value, io.netty.buffer.ByteBuf cb, ProtocolVersion version)`

Constructors in org.apache.cassandra.transport with parameters of type ProtocolVersion
Constructor and Description
`Client(java.lang.String host, int port, ProtocolVersion version, EncryptionOptions.ClientEncryptionOptions encryptionOptions)`
`Connection(io.netty.channel.Channel channel, ProtocolVersion version, Connection.Tracker tracker)`
`ProtocolException(java.lang.String msg, ProtocolVersion forcedProtocolVersion)`
`ServerConnection(io.netty.channel.Channel channel, ProtocolVersion version, Connection.Tracker tracker)`
`SimpleClient(java.lang.String host, int port, ProtocolVersion version)`
`SimpleClient(java.lang.String host, int port, ProtocolVersion version, boolean useBeta, EncryptionOptions.ClientEncryptionOptions encryptionOptions)`
`SimpleClient(java.lang.String host, int port, ProtocolVersion version, EncryptionOptions.ClientEncryptionOptions encryptionOptions)`