Browse Source

Pass `SendOutput` by reference

tags/v0.0.0-test.4
Philipp Oppermann 3 years ago
parent
commit
c54209ff98
Failed to extract signature
6 changed files with 7 additions and 7 deletions
  1. +1
    -1
      apis/c/operator/operator_types.h
  2. +1
    -1
      apis/rust/operator/macros/src/lib.rs
  3. +2
    -2
      apis/rust/operator/src/lib.rs
  4. +1
    -1
      apis/rust/operator/src/raw.rs
  5. +1
    -1
      apis/rust/operator/types/src/lib.rs
  6. +1
    -1
      binaries/runtime/src/operator/shared_lib.rs

+ 1
- 1
apis/c/operator/operator_types.h View File

@@ -139,7 +139,7 @@ typedef struct SendOutput {
/** <No documentation available> */
typedef struct DoraOnInput {
/** <No documentation available> */
OnInputResult_t (*on_input)(Input_t const *, SendOutput_t, void *);
OnInputResult_t (*on_input)(Input_t const *, SendOutput_t const *, void *);
} DoraOnInput_t;




+ 1
- 1
apis/rust/operator/macros/src/lib.rs View File

@@ -53,7 +53,7 @@ fn register_operator_impl(item: &TokenStream2) -> syn::Result<TokenStream2> {
#[no_mangle]
pub unsafe extern "C" fn dora_on_input(
input: &dora_operator_api::types::Input,
send_output: dora_operator_api::types::SendOutput,
send_output: &dora_operator_api::types::SendOutput,
operator_context: *mut std::ffi::c_void,
) -> dora_operator_api::types::OnInputResult {
dora_operator_api::raw::dora_on_input::<#operator_ty>(


+ 2
- 2
apis/rust/operator/src/lib.rs View File

@@ -18,9 +18,9 @@ pub trait DoraOperator: Default {
) -> Result<DoraStatus, String>;
}

pub struct DoraOutputSender(SendOutput);
pub struct DoraOutputSender<'a>(&'a SendOutput);

impl DoraOutputSender {
impl DoraOutputSender<'_> {
pub fn send(&mut self, id: String, data: Vec<u8>) -> Result<(), String> {
let result = self.0.send_output.call(Output {
id: id.into(),


+ 1
- 1
apis/rust/operator/src/raw.rs View File

@@ -28,7 +28,7 @@ pub unsafe fn dora_drop_operator<O>(operator_context: *mut c_void) -> DoraResult

pub unsafe fn dora_on_input<O: DoraOperator>(
input: &Input,
send_output: SendOutput,
send_output: &SendOutput,
operator_context: *mut std::ffi::c_void,
) -> OnInputResult {
let mut output_sender = DoraOutputSender(send_output);


+ 1
- 1
apis/rust/operator/types/src/lib.rs View File

@@ -47,7 +47,7 @@ pub struct DoraOnInput {
pub struct OnInputFn(
pub unsafe extern "C" fn(
input: &Input,
send_output: SendOutput,
send_output: &SendOutput,
operator_context: *mut std::ffi::c_void,
) -> OnInputResult,
);


+ 1
- 1
binaries/runtime/src/operator/shared_lib.rs View File

@@ -110,7 +110,7 @@ impl<'lib> SharedLibraryOperator<'lib> {
} = unsafe {
(self.bindings.on_input.on_input)(
&operator_input,
send_output,
&send_output,
operator_context.raw,
)
};


Loading…
Cancel
Save