Skip to content

Implement placement new concept #224

@elfenpiff

Description

@elfenpiff

Brief feature description

See: #220

When a large data type that does not fit into the stack is transmitted via shared memory we encounter a stack overflow. It is caused by a lacking placement new functionality in Rust, see: rust-lang/rust#53827

Example:

let a = Box::new([-1; 3000000]);

We need to add a mechanism so that

let sample = publisher.loan()?;

and

let sample = publisher.loan_uninit()?;
let sample = sample.write_payload(LargeDataType::default());

perform a placement new into the provide shared memory.

Detailed information

One possible solution can be the introduction of a PlacementNew trait in combination with a placement_new derive macro.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions