Skip to content

Commit 0188c61

Browse files
Add iceoryx implementation
1 parent 98e746b commit 0188c61

File tree

13 files changed

+952
-256
lines changed

13 files changed

+952
-256
lines changed

com-api/Cargo.lock

Lines changed: 647 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

com-api/com-api-concept/Cargo.toml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,8 @@ publish = ["common"]
66
license = "Apache-2.0"
77

88
[features]
9-
iceoryx = []
9+
iceoryx = ["iceoryx2"]
1010
lola = []
11+
12+
[dependencies]
13+
iceoryx2 = { git = "https://github.com/eclipse-iceoryx/iceoryx2.git", version = "0.6.1", optional = true }

com-api/com-api-concept/src/lib.rs

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,9 @@ pub struct InstanceSpecifier {
9393
///
9494
/// Since it is yet to be proven whether this trait can be implemented safely (assumption is: no) it
9595
/// is unsafe for now. The expectation is that very few users ever need to implement this manually.
96+
#[cfg(feature = "iceoryx")]
97+
pub unsafe trait Reloc: iceoryx2::prelude::ZeroCopySend {}
98+
#[cfg(feature = "lola")]
9699
pub unsafe trait Reloc {}
97100

98101
unsafe impl Reloc for () {}
@@ -177,8 +180,11 @@ pub trait ProducerConcept {
177180

178181
pub trait ConsumerConcept {}
179182

180-
pub trait ProducerBuilderConcept<I: InterfaceConcept, R: AdapterConcept, P: ProducerConcept<Interface = I>>:
181-
BuilderConcept<P>
183+
pub trait ProducerBuilderConcept<
184+
I: InterfaceConcept,
185+
R: AdapterConcept,
186+
P: ProducerConcept<Interface = I>,
187+
>: BuilderConcept<P>
182188
{
183189
}
184190

@@ -194,7 +200,10 @@ pub trait ConsumerDescriptorConcept<R: AdapterConcept> {
194200
fn get_instance_id(&self) -> usize; // TODO: Turn return type into separate type
195201
}
196202

197-
pub trait ConsumerBuilderConcept<I: InterfaceConcept, R: AdapterConcept>: ConsumerDescriptorConcept<R> {}
203+
pub trait ConsumerBuilderConcept<I: InterfaceConcept, R: AdapterConcept>:
204+
ConsumerDescriptorConcept<R>
205+
{
206+
}
198207

199208
pub trait SubscriberConcept<T: Reloc + Send> {
200209
type Subscription: SubscriptionConcept<T>;

com-api/com-api-runtime-iceoryx/Cargo.toml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,12 @@ edition = "2024"
55
publish = ["common"]
66
license = "Apache-2.0"
77

8+
[features]
9+
iceoryx = ["com-api-concept/iceoryx"]
10+
811
[dependencies]
9-
com-api-concept = { workspace = true, features = ["iceoryx"] }
12+
com-api-concept = { workspace = true, optional = true }
13+
iceoryx2 = { git = "https://github.com/eclipse-iceoryx/iceoryx2.git", version = "0.6.1" }
1014

1115
[dev-dependencies]
1216
futures = "0.3"

0 commit comments

Comments
 (0)