scylla_cql/frame/request/
options.rs

1//! CQL protocol-level representation of a `OPTIONS` request.
2
3use crate::frame::frame_errors::CqlRequestSerializationError;
4
5use crate::frame::request::{RequestOpcode, SerializableRequest};
6
7/// The CQL protocol-level representation of an `OPTIONS` request,
8/// used to retrieve the server's supported options.
9pub struct Options;
10
11impl SerializableRequest for Options {
12    const OPCODE: RequestOpcode = RequestOpcode::Options;
13
14    fn serialize(&self, _buf: &mut Vec<u8>) -> Result<(), CqlRequestSerializationError> {
15        Ok(())
16    }
17}
18
19/* Key names for options in SUPPORTED/STARTUP */
20pub const SCYLLA_SHARD_AWARE_PORT: &str = "SCYLLA_SHARD_AWARE_PORT";
21pub const SCYLLA_SHARD_AWARE_PORT_SSL: &str = "SCYLLA_SHARD_AWARE_PORT_SSL";
22
23pub const COMPRESSION: &str = "COMPRESSION";
24pub const CQL_VERSION: &str = "CQL_VERSION";
25pub const DRIVER_NAME: &str = "DRIVER_NAME";
26pub const DRIVER_VERSION: &str = "DRIVER_VERSION";
27pub const APPLICATION_NAME: &str = "APPLICATION_NAME";
28pub const APPLICATION_VERSION: &str = "APPLICATION_VERSION";
29pub const CLIENT_ID: &str = "CLIENT_ID";
30
31/* Value names for options in SUPPORTED/STARTUP */
32pub const DEFAULT_CQL_PROTOCOL_VERSION: &str = "4.0.0";
33pub const DEFAULT_DRIVER_NAME: &str = "ScyllaDB Rust Driver";
34pub const DEFAULT_DRIVER_VERSION: &str = env!("CARGO_PKG_VERSION");