pub struct StreamActor {
pub actor_id: u32,
pub fragment_id: u32,
pub nodes: Option<StreamNode>,
pub dispatcher: Vec<Dispatcher>,
pub upstream_actor_id: Vec<u32>,
pub vnode_bitmap: Option<Buffer>,
pub mview_definition: String,
pub expr_context: Option<ExprContext>,
}
Expand description
A StreamActor is a running fragment of the overall stream graph,
Fields§
§actor_id: u32
§fragment_id: u32
§nodes: Option<StreamNode>
§dispatcher: Vec<Dispatcher>
§upstream_actor_id: Vec<u32>
The actors that send messages to this actor. Note that upstream actor ids are also stored in the proto of merge nodes. It is painstaking to traverse through the node tree and get upstream actor id from the root StreamNode. We duplicate the information here to ease the parsing logic in stream manager.
vnode_bitmap: Option<Buffer>
Vnodes that the executors in this actor own.
If the fragment is a singleton, this field will not be set and leave a None
.
mview_definition: String
The SQL definition of this materialized view. Used for debugging only.
expr_context: Option<ExprContext>
Provide the necessary context, e.g. session info like time zone, for the actor.
Implementations§
source§impl StreamActor
impl StreamActor
pub fn get_actor_id(&self) -> u32
pub fn get_fragment_id(&self) -> u32
pub fn get_nodes(&self) -> Result<&StreamNode, PbFieldNotFound>
pub fn get_dispatcher(&self) -> &Vec<Dispatcher>
pub fn get_upstream_actor_id(&self) -> &Vec<u32>
pub fn get_vnode_bitmap(&self) -> Result<&Buffer, PbFieldNotFound>
pub fn get_mview_definition(&self) -> &String
pub fn get_expr_context(&self) -> Result<&ExprContext, PbFieldNotFound>
Trait Implementations§
source§impl Clone for StreamActor
impl Clone for StreamActor
source§fn clone(&self) -> StreamActor
fn clone(&self) -> StreamActor
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for StreamActor
impl Debug for StreamActor
source§impl Default for StreamActor
impl Default for StreamActor
source§impl<'de> Deserialize<'de> for StreamActor
impl<'de> Deserialize<'de> for StreamActor
source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Message for StreamActor
impl Message for StreamActor
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Encodes the message to a buffer. Read more
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
Encodes the message to a newly allocated buffer.
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Encodes the message with a length-delimiter to a buffer. Read more
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
Encodes the message with a length-delimiter to a newly allocated buffer.
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes an instance of the message from a buffer. Read more
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes a length-delimited instance of the message from the buffer.
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
Decodes an instance of the message from a buffer, and merges it into
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
Decodes a length-delimited instance of the message from buffer, and
merges it into
self
.source§impl PartialEq for StreamActor
impl PartialEq for StreamActor
source§impl Serialize for StreamActor
impl Serialize for StreamActor
impl StructuralPartialEq for StreamActor
Auto Trait Implementations§
impl Freeze for StreamActor
impl RefUnwindSafe for StreamActor
impl Send for StreamActor
impl Sync for StreamActor
impl Unpin for StreamActor
impl UnwindSafe for StreamActor
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request