pub struct DoraNode { /* private fields */ }
Implementations§
Source§impl DoraNode
impl DoraNode
Sourcepub fn init_from_env() -> Result<(Self, EventStream)>
pub fn init_from_env() -> Result<(Self, EventStream)>
Initiate a node from environment variables set by dora-coordinator
use dora_node_api::DoraNode;
let (mut node, mut events) = DoraNode::init_from_env().expect("Could not init node.");
Sourcepub fn init_from_node_id(node_id: NodeId) -> Result<(Self, EventStream)>
pub fn init_from_node_id(node_id: NodeId) -> Result<(Self, EventStream)>
Initiate a node from a dataflow id and a node id.
use dora_node_api::DoraNode;
use dora_node_api::dora_core::config::NodeId;
let (mut node, mut events) = DoraNode::init_from_node_id(NodeId::from("plot".to_string())).expect("Could not init node plot");
pub fn init_flexible(node_id: NodeId) -> Result<(Self, EventStream)>
pub fn init(node_config: NodeConfig) -> Result<(Self, EventStream)>
Sourcepub fn send_output_raw<F>(
&mut self,
output_id: DataId,
parameters: MetadataParameters,
data_len: usize,
data: F,
) -> Result<()>
pub fn send_output_raw<F>( &mut self, output_id: DataId, parameters: MetadataParameters, data_len: usize, data: F, ) -> Result<()>
Send data from the node to the other nodes. We take a closure as an input to enable zero copy on send.
use dora_node_api::{DoraNode, MetadataParameters};
use dora_core::config::DataId;
let (mut node, mut events) = DoraNode::init_from_env().expect("Could not init node.");
let output = DataId::from("output_id".to_owned());
let data: &[u8] = &[0, 1, 2, 3];
let parameters = MetadataParameters::default();
node.send_output_raw(
output,
parameters,
data.len(),
|out| {
out.copy_from_slice(data);
}).expect("Could not send output");
pub fn send_output( &mut self, output_id: DataId, parameters: MetadataParameters, data: impl Array, ) -> Result<()>
pub fn send_output_bytes( &mut self, output_id: DataId, parameters: MetadataParameters, data_len: usize, data: &[u8], ) -> Result<()>
pub fn send_typed_output<F>( &mut self, output_id: DataId, type_info: ArrowTypeInfo, parameters: MetadataParameters, data_len: usize, data: F, ) -> Result<()>
pub fn send_output_sample( &mut self, output_id: DataId, type_info: ArrowTypeInfo, parameters: MetadataParameters, sample: Option<DataSample>, ) -> Result<()>
pub fn close_outputs(&mut self, outputs: Vec<DataId>) -> Result<()>
pub fn id(&self) -> &NodeId
pub fn dataflow_id(&self) -> &DataflowId
pub fn node_config(&self) -> &NodeRunConfig
pub fn allocate_data_sample(&mut self, data_len: usize) -> Result<DataSample>
Sourcepub fn dataflow_descriptor(&self) -> Result<&Descriptor>
pub fn dataflow_descriptor(&self) -> Result<&Descriptor>
Returns the full dataflow descriptor that this node is part of.
This method returns the parsed dataflow YAML file.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for DoraNode
impl !RefUnwindSafe for DoraNode
impl Send for DoraNode
impl Sync for DoraNode
impl Unpin for DoraNode
impl !UnwindSafe for DoraNode
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§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