Skip to main content

ListenMode

Enum ListenMode 

Source
pub enum ListenMode {
    LibPq,
    Grpc {
        port: u16,
    },
    Both {
        grpc_port: u16,
    },
}
Expand description

Specifies which protocols HyperProcess should listen on.

§Examples

use hyperdb_api::{ListenMode, Parameters};

// LibPq only (default) - for full read/write access
let mut params = Parameters::new();
params.set_listen_mode(ListenMode::LibPq);

// gRPC only - for Arrow-based query access
let mut params = Parameters::new();
params.set_listen_mode(ListenMode::Grpc { port: 0 }); // auto-assign port

// Both protocols - libpq for writes, gRPC for Arrow queries
let mut params = Parameters::new();
params.set_listen_mode(ListenMode::Both { grpc_port: 7484 });

Variants§

§

LibPq

PostgreSQL wire protocol only (default).

This is the traditional connection mode that supports all Hyper features including read and write operations.

§

Grpc

gRPC protocol only.

This mode is optimized for query-only workloads and returns results in Arrow IPC format. Note that gRPC mode does not support write operations.

Set port to 0 to auto-assign an available port.

Fields

§port: u16

The port to listen on (0 for auto-assign).

§

Both

Both libpq and gRPC protocols.

This mode enables full read/write access via libpq while also providing gRPC access for Arrow-based queries. The libpq port is auto-assigned, while the gRPC port is specified.

Note: When using Both mode, the callback connection returns the libpq endpoint. Use HyperProcess::grpc_endpoint() to get the gRPC endpoint.

Fields

§grpc_port: u16

The gRPC port to listen on (cannot be 0 - must be a specific port).

Trait Implementations§

Source§

impl Clone for ListenMode

Source§

fn clone(&self) -> ListenMode

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ListenMode

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ListenMode

Source§

fn default() -> ListenMode

Returns the “default value” for a type. Read more
Source§

impl PartialEq for ListenMode

Source§

fn eq(&self, other: &ListenMode) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for ListenMode

Source§

impl Eq for ListenMode

Source§

impl StructuralPartialEq for ListenMode

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,