This is an automated email from the ASF dual-hosted git repository.
gkoszyk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iggy.git
The following commit(s) were added to refs/heads/master by this push:
new d4cdfcaf8 fix(sdk): inline iobuf into iggy_binary_protocol (#3110)
d4cdfcaf8 is described below
commit d4cdfcaf883f91cd08b76a596977c63106ea771f
Author: Hubert Gruszecki <[email protected]>
AuthorDate: Mon Apr 13 18:34:41 2026 +0200
fix(sdk): inline iobuf into iggy_binary_protocol (#3110)
0.8.0 rc1 passed both PPMC and IPMC votes, then cargo publish
revealed the iobuf crate could not reach crates.io: the name
"iobuf" is already owned by an unrelated v5.8.1 crate.
Publishing the workspace copy under a new name (iggy_iobuf) was
rejected because it would commit the project to SemVer stability
on ~485 LoC of refcounted unsafe code with zero tests, zero docs,
and a latent refcount-underflow UAF masked by debug_assert!.
Move core/iobuf/src/lib.rs verbatim into
core/binary_protocol/src/consensus/iobuf.rs, delete the standalone
crate, and update every consumer to import through
iggy_binary_protocol::consensus::iobuf. The implementation is
byte-for-byte unchanged; the existing lint debt is suppressed at
the module declaration and tracked for a 0.9.x cleanup pass.
Also close the SemVer leak:
iobuf types were reachable through iggy_common's public API via
FrozenBatchHeader and a `pub use send_messages2::*` wildcard
re-export. Demote FrozenBatchHeader to pub(crate), drop the
wildcard (no external consumers relied on it), and seal
FragmentedBacking so downstream crates cannot implement it and
pull Frozen<MESSAGE_ALIGN> into their own signatures.
The publish chain drops from 5 crates to 4:
iggy_binary_protocol -> iggy_common -> iggy -> iggy-cli.
---
.github/actions/rust/pre-merge/action.yml | 2 +-
.github/config/components.yml | 10 ---------
Cargo.lock | 17 ++------------
Cargo.toml | 3 +--
DEPENDENCIES.md | 1 -
core/binary_protocol/Cargo.toml | 3 ++-
.../src/consensus/iobuf.rs} | 0
core/binary_protocol/src/consensus/message.rs | 10 +++++++--
core/binary_protocol/src/consensus/mod.rs | 14 ++++++++++++
core/common/Cargo.toml | 1 -
core/common/src/lib.rs | 1 -
core/common/src/types/send_messages2.rs | 4 ++--
core/consensus/Cargo.toml | 1 -
core/consensus/src/plane_helpers.rs | 2 +-
core/iobuf/Cargo.toml | 26 ----------------------
core/journal/Cargo.toml | 1 -
core/journal/src/prepare_journal.rs | 2 +-
core/metadata/Cargo.toml | 1 -
core/metadata/src/impls/recovery.rs | 2 +-
core/partitions/Cargo.toml | 1 -
core/partitions/src/iggy_partitions.rs | 2 +-
core/partitions/src/journal.rs | 2 +-
core/partitions/src/lib.rs | 2 +-
core/partitions/src/messages_writer.rs | 2 +-
core/partitions/src/types.rs | 2 +-
core/simulator/Cargo.toml | 1 -
core/simulator/src/client.rs | 2 +-
core/simulator/src/deps.rs | 2 +-
core/simulator/src/packet.rs | 6 +++--
29 files changed, 44 insertions(+), 79 deletions(-)
diff --git a/.github/actions/rust/pre-merge/action.yml
b/.github/actions/rust/pre-merge/action.yml
index 742d489f9..d317d6158 100644
--- a/.github/actions/rust/pre-merge/action.yml
+++ b/.github/actions/rust/pre-merge/action.yml
@@ -91,7 +91,7 @@ runs:
# Build -p flags for cargo build/test
echo "$CRATES" | sed 's/^/-p /' | tr '\n' ' ' > /tmp/packages.txt
# Build nextest filter expression for cargo nextest run
- echo "$CRATES" | sed 's/^/package(/; s/$/)/' | paste -sd ' | ' >
/tmp/nextest-filter.txt
+ echo "$CRATES" | sed 's/^/package(/; s/$/)/' | paste -sd '|' | sed
's/|/ | /g' > /tmp/nextest-filter.txt
echo "::notice::DAG analysis: ${CRATE_COUNT} affected crates (of
${TOTAL_CRATES} total)"
else
echo "::notice::Full workspace affected (${TOTAL_CRATES} crates)"
diff --git a/.github/config/components.yml b/.github/config/components.yml
index a898f30db..bb7a87f1b 100644
--- a/.github/config/components.yml
+++ b/.github/config/components.yml
@@ -51,17 +51,9 @@ components:
paths:
- "core/common/**"
- # Leaf crate: zero-copy I/O buffer, depended on by binary_protocol and
cluster
- rust-iobuf:
- depends_on:
- - "rust-workspace"
- paths:
- - "core/iobuf/**"
-
rust-binary-protocol:
depends_on:
- "rust-workspace" # Protocol is affected by workspace changes
- - "rust-iobuf" # binary_protocol depends on iobuf
- "ci-infrastructure" # CI changes trigger full regression
paths:
- "core/binary_protocol/**"
@@ -80,7 +72,6 @@ components:
rust-cluster:
depends_on:
- "rust-workspace"
- - "rust-iobuf" # cluster crates depend on iobuf
- "rust-binary-protocol" # cluster crates depend on binary_protocol
paths:
- "core/clock/**"
@@ -104,7 +95,6 @@ components:
rust:
depends_on:
- "rust-workspace"
- - "rust-iobuf"
- "rust-configs"
- "rust-sdk"
- "rust-common"
diff --git a/Cargo.lock b/Cargo.lock
index 0f72de0fe..27c8d71c2 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2253,7 +2253,6 @@ dependencies = [
"futures",
"iggy_binary_protocol",
"iggy_common",
- "iobuf",
"message_bus",
"rand 0.10.0",
"rand_xoshiro",
@@ -5642,10 +5641,11 @@ dependencies = [
name = "iggy_binary_protocol"
version = "0.10.0"
dependencies = [
+ "aligned-vec",
"bytemuck",
"bytes",
+ "compio-buf",
"enumset",
- "iobuf",
"smallvec",
"thiserror 2.0.18",
]
@@ -5674,7 +5674,6 @@ dependencies = [
"human-repr",
"humantime",
"iggy_binary_protocol",
- "iobuf",
"lending-iterator",
"moka",
"nix",
@@ -6240,14 +6239,6 @@ dependencies = [
"rustix 1.1.4",
]
-[[package]]
-name = "iobuf"
-version = "0.1.0"
-dependencies = [
- "aligned-vec",
- "compio-buf",
-]
-
[[package]]
name = "ipconfig"
version = "0.3.4"
@@ -6409,7 +6400,6 @@ dependencies = [
"bytemuck",
"compio",
"iggy_binary_protocol",
- "iobuf",
"tempfile",
]
@@ -7026,7 +7016,6 @@ dependencies = [
"consensus",
"iggy_binary_protocol",
"iggy_common",
- "iobuf",
"journal",
"left-right",
"message_bus",
@@ -8007,7 +7996,6 @@ dependencies = [
"consensus",
"iggy_binary_protocol",
"iggy_common",
- "iobuf",
"journal",
"message_bus",
"ringbuffer",
@@ -10382,7 +10370,6 @@ dependencies = [
"futures",
"iggy_binary_protocol",
"iggy_common",
- "iobuf",
"journal",
"message_bus",
"metadata",
diff --git a/Cargo.toml b/Cargo.toml
index d453e6d18..9ef77d1a0 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -48,7 +48,6 @@ members = [
"core/consensus",
"core/harness_derive",
"core/integration",
- "core/iobuf",
"core/journal",
"core/message_bus",
"core/metadata",
@@ -116,6 +115,7 @@ compio = { version = "0.18.0", features = [
"ws",
"fs",
] }
+compio-buf = "0.8.1"
# Pin compio-driver >= 0.11.2 to fix musl compilation (compio-rs/compio#668)
compio-driver = "0.11.4"
configs = { path = "core/configs", version = "0.1.0" }
@@ -172,7 +172,6 @@ iggy_binary_protocol = { path = "core/binary_protocol",
version = "0.10.0" }
iggy_common = { path = "core/common", version = "0.10.0" }
iggy_connector_sdk = { path = "core/connectors/sdk", version = "0.3.0" }
integration = { path = "core/integration" }
-iobuf = { path = "core/iobuf" }
journal = { path = "core/journal" }
js-sys = "0.3"
jsonwebtoken = { version = "10.3.0", features = ["rust_crypto"] }
diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md
index 58b90185c..5181660c1 100644
--- a/DEPENDENCIES.md
+++ b/DEPENDENCIES.md
@@ -515,7 +515,6 @@ interpolate_name: 0.2.4, "MIT",
inventory: 0.3.24, "Apache-2.0 OR MIT",
io-uring: 0.7.11, "Apache-2.0 OR MIT",
io_uring_buf_ring: 0.2.3, "MIT",
-iobuf: 0.1.0, "Apache-2.0",
ipconfig: 0.3.4, "Apache-2.0 OR MIT",
ipnet: 2.12.0, "Apache-2.0 OR MIT",
iri-string: 0.7.12, "Apache-2.0 OR MIT",
diff --git a/core/binary_protocol/Cargo.toml b/core/binary_protocol/Cargo.toml
index 813641345..cab10cc8c 100644
--- a/core/binary_protocol/Cargo.toml
+++ b/core/binary_protocol/Cargo.toml
@@ -29,10 +29,11 @@ repository = "https://github.com/apache/iggy"
readme = "../../README.md"
[dependencies]
+aligned-vec = { workspace = true }
bytemuck = { workspace = true }
bytes = { workspace = true }
+compio-buf = { workspace = true }
enumset = { workspace = true }
-iobuf = { workspace = true }
smallvec = { workspace = true }
thiserror = { workspace = true }
diff --git a/core/iobuf/src/lib.rs b/core/binary_protocol/src/consensus/iobuf.rs
similarity index 100%
rename from core/iobuf/src/lib.rs
rename to core/binary_protocol/src/consensus/iobuf.rs
diff --git a/core/binary_protocol/src/consensus/message.rs
b/core/binary_protocol/src/consensus/message.rs
index db85a7229..f5b502088 100644
--- a/core/binary_protocol/src/consensus/message.rs
+++ b/core/binary_protocol/src/consensus/message.rs
@@ -15,12 +15,12 @@
// specific language governing permissions and limitations
// under the License.
+use super::iobuf::{Frozen, Owned};
use crate::consensus::{
self, Command2, CommitHeader, ConsensusError, ConsensusHeader,
DoViewChangeHeader,
GenericHeader, PrepareHeader, PrepareOkHeader, RequestHeader,
StartViewChangeHeader,
StartViewHeader,
};
-use iobuf::{Frozen, Owned};
use smallvec::SmallVec;
use std::{marker::PhantomData, mem::size_of};
@@ -46,13 +46,19 @@ where
fn as_mut_slice(&mut self) -> &mut [u8];
}
-pub trait FragmentedBacking<H>: MessageBacking<H> + ResponseBackingKind
+mod sealed {
+ pub trait Sealed {}
+}
+
+pub trait FragmentedBacking<H>: MessageBacking<H> + ResponseBackingKind +
sealed::Sealed
where
H: ConsensusHeader,
{
fn fragments(&self) -> &[Frozen<MESSAGE_ALIGN>];
}
+impl sealed::Sealed for ResponseBacking {}
+
#[derive(Debug, Clone)]
pub struct RequestBacking {
owned: Owned<MESSAGE_ALIGN>,
diff --git a/core/binary_protocol/src/consensus/mod.rs
b/core/binary_protocol/src/consensus/mod.rs
index 0801dbbc3..0f17f8ab0 100644
--- a/core/binary_protocol/src/consensus/mod.rs
+++ b/core/binary_protocol/src/consensus/mod.rs
@@ -42,6 +42,20 @@
mod command;
mod error;
mod header;
+// iobuf was moved here verbatim from the former `core/iobuf` crate. Its
+// implementation is intentionally untouched for rc2; the existing lints
+// predate the move and are tracked as tech debt for a 0.9.x cleanup pass.
+#[allow(
+ private_interfaces,
+ clippy::missing_errors_doc,
+ clippy::missing_panics_doc,
+ clippy::must_use_candidate,
+ clippy::return_self_not_must_use,
+ clippy::missing_const_for_fn,
+ clippy::non_send_fields_in_send_ty,
+ clippy::use_self
+)]
+pub mod iobuf;
pub mod message;
mod operation;
diff --git a/core/common/Cargo.toml b/core/common/Cargo.toml
index 935681690..151ac5d2d 100644
--- a/core/common/Cargo.toml
+++ b/core/common/Cargo.toml
@@ -48,7 +48,6 @@ err_trail = { workspace = true }
human-repr = { workspace = true }
humantime = { workspace = true }
iggy_binary_protocol = { workspace = true }
-iobuf = { workspace = true }
lending-iterator = { workspace = true }
moka = { workspace = true }
once_cell = { workspace = true }
diff --git a/core/common/src/lib.rs b/core/common/src/lib.rs
index dc7fbba3a..e25a99733 100644
--- a/core/common/src/lib.rs
+++ b/core/common/src/lib.rs
@@ -112,7 +112,6 @@ pub use types::personal_access_tokens::*;
pub use types::segment::Segment;
pub use types::segment_storage::*;
pub use types::send_messages2;
-pub use types::send_messages2::*;
pub use types::snapshot::*;
pub use types::stats::*;
pub use types::stream::*;
diff --git a/core/common/src/types/send_messages2.rs
b/core/common/src/types/send_messages2.rs
index e714936da..58390db04 100644
--- a/core/common/src/types/send_messages2.rs
+++ b/core/common/src/types/send_messages2.rs
@@ -17,8 +17,8 @@
use crate::{INDEX_SIZE, IggyError, random_id, sharding::IggyNamespace};
use bytes::{Bytes, BytesMut};
+use iggy_binary_protocol::consensus::iobuf::Owned;
use iggy_binary_protocol::{Message, PrepareHeader, RequestHeader};
-use iobuf::Owned;
use std::hash::Hasher;
use twox_hash::XxHash3_64;
@@ -544,7 +544,7 @@ impl<'a> Iterator for SendMessages2IteratorWithOffsets<'a> {
}
}
-pub type FrozenBatchHeader = iobuf::Frozen<MESSAGE_ALIGN>;
+pub(crate) type FrozenBatchHeader =
iggy_binary_protocol::consensus::iobuf::Frozen<MESSAGE_ALIGN>;
pub fn convert_request_message(
namespace: IggyNamespace,
diff --git a/core/consensus/Cargo.toml b/core/consensus/Cargo.toml
index dac219e3a..89a4baff1 100644
--- a/core/consensus/Cargo.toml
+++ b/core/consensus/Cargo.toml
@@ -33,7 +33,6 @@ bytemuck = { workspace = true }
bytes = { workspace = true }
iggy_binary_protocol = { workspace = true }
iggy_common = { workspace = true }
-iobuf = { workspace = true }
message_bus = { workspace = true }
rand = { workspace = true }
rand_xoshiro = { workspace = true }
diff --git a/core/consensus/src/plane_helpers.rs
b/core/consensus/src/plane_helpers.rs
index f980f73f9..e3fa54b3a 100644
--- a/core/consensus/src/plane_helpers.rs
+++ b/core/consensus/src/plane_helpers.rs
@@ -20,10 +20,10 @@ use crate::{
Consensus, IgnoreReason, Pipeline, PipelineEntry, PlaneKind,
PrepareOkOutcome, Sequencer,
Status, VsrConsensus,
};
+use iggy_binary_protocol::consensus::iobuf::Owned;
use iggy_binary_protocol::{
Command2, GenericHeader, Message, PrepareHeader, PrepareOkHeader,
ReplyHeader,
};
-use iobuf::Owned;
use message_bus::MessageBus;
use std::ops::AsyncFnOnce;
diff --git a/core/iobuf/Cargo.toml b/core/iobuf/Cargo.toml
deleted file mode 100644
index a838f4b19..000000000
--- a/core/iobuf/Cargo.toml
+++ /dev/null
@@ -1,26 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-[package]
-name = "iobuf"
-version = "0.1.0"
-edition = "2024"
-license = "Apache-2.0"
-
-[dependencies]
-aligned-vec = "0.6"
-compio-buf = "0.8.1"
diff --git a/core/journal/Cargo.toml b/core/journal/Cargo.toml
index ba80d7a2a..1f255cc5c 100644
--- a/core/journal/Cargo.toml
+++ b/core/journal/Cargo.toml
@@ -31,7 +31,6 @@ readme = "../../../README.md"
bytemuck = { workspace = true }
compio = { workspace = true }
iggy_binary_protocol = { workspace = true }
-iobuf = { workspace = true }
[dev-dependencies]
tempfile = { workspace = true }
diff --git a/core/journal/src/prepare_journal.rs
b/core/journal/src/prepare_journal.rs
index 8f332ba2a..283db5b4d 100644
--- a/core/journal/src/prepare_journal.rs
+++ b/core/journal/src/prepare_journal.rs
@@ -18,9 +18,9 @@
use crate::file_storage::FileStorage;
use crate::{Journal, JournalHandle};
use compio::io::AsyncWriteAtExt;
+use iggy_binary_protocol::consensus::iobuf::Owned;
use iggy_binary_protocol::consensus::message::Message;
use iggy_binary_protocol::consensus::{Command2, PrepareHeader};
-use iobuf::Owned;
use std::cell::{Cell, Ref, RefCell};
use std::fmt;
use std::io;
diff --git a/core/metadata/Cargo.toml b/core/metadata/Cargo.toml
index 2618b6153..d579b70fe 100644
--- a/core/metadata/Cargo.toml
+++ b/core/metadata/Cargo.toml
@@ -46,7 +46,6 @@ tracing = { workspace = true }
bytemuck = { workspace = true }
bytes = { workspace = true }
compio = { workspace = true }
-iobuf = { workspace = true }
tempfile = { workspace = true }
[lints.clippy]
diff --git a/core/metadata/src/impls/recovery.rs
b/core/metadata/src/impls/recovery.rs
index 4d5606e4c..83692e62e 100644
--- a/core/metadata/src/impls/recovery.rs
+++ b/core/metadata/src/impls/recovery.rs
@@ -158,8 +158,8 @@ where
#[allow(clippy::cast_possible_truncation)]
mod tests {
use super::*;
+ use iggy_binary_protocol::consensus::iobuf::Owned;
use iggy_binary_protocol::consensus::{Command2, Operation};
- use iobuf::Owned;
use journal::Journal;
use tempfile::tempdir;
diff --git a/core/partitions/Cargo.toml b/core/partitions/Cargo.toml
index 6cc5c6974..7d1db6c7f 100644
--- a/core/partitions/Cargo.toml
+++ b/core/partitions/Cargo.toml
@@ -34,7 +34,6 @@ compio = { workspace = true }
consensus = { workspace = true }
iggy_binary_protocol = { workspace = true }
iggy_common = { workspace = true }
-iobuf = { workspace = true }
journal = { workspace = true }
message_bus = { workspace = true }
ringbuffer = { workspace = true }
diff --git a/core/partitions/src/iggy_partitions.rs
b/core/partitions/src/iggy_partitions.rs
index 88661ce3b..bec370a91 100644
--- a/core/partitions/src/iggy_partitions.rs
+++ b/core/partitions/src/iggy_partitions.rs
@@ -34,6 +34,7 @@ use consensus::{
pipeline_prepare_common, replicate_preflight, replicate_to_next_in_chain,
request_preflight,
send_prepare_ok as send_prepare_ok_common,
};
+use iggy_binary_protocol::consensus::iobuf::Frozen;
use iggy_binary_protocol::{
Command2, ConsensusHeader, GenericHeader, Message, Operation,
PrepareHeader, PrepareOkHeader,
RequestHeader,
@@ -43,7 +44,6 @@ use iggy_common::{
send_messages2::{convert_request_message, decode_prepare_slice},
sharding::{IggyNamespace, LocalIdx, ShardId},
};
-use iobuf::Frozen;
use journal::{Journal, JournalHandle};
use message_bus::MessageBus;
use std::cell::UnsafeCell;
diff --git a/core/partitions/src/journal.rs b/core/partitions/src/journal.rs
index dc020b492..8c45d3630 100644
--- a/core/partitions/src/journal.rs
+++ b/core/partitions/src/journal.rs
@@ -15,9 +15,9 @@
// specific language governing permissions and limitations
// under the License.
+use iggy_binary_protocol::consensus::iobuf::{Frozen, Owned};
use iggy_binary_protocol::{Operation, PrepareHeader};
use iggy_common::send_messages2::{COMMAND_HEADER_SIZE, SendMessages2Ref,
decode_prepare_slice};
-use iobuf::{Frozen, Owned};
use journal::{Journal, Storage};
use std::io;
use std::{
diff --git a/core/partitions/src/lib.rs b/core/partitions/src/lib.rs
index fd5bb0234..461982aac 100644
--- a/core/partitions/src/lib.rs
+++ b/core/partitions/src/lib.rs
@@ -29,7 +29,7 @@ mod types;
use iggy_binary_protocol::{Message, PrepareHeader};
use iggy_common::IggyError;
-pub use iggy_common::{IggyMessage2, IggyMessage2Header, IggyMessages2};
+pub use iggy_common::send_messages2::{IggyMessage2, IggyMessage2Header,
IggyMessages2};
pub use iggy_partition::IggyPartition;
pub use iggy_partitions::IggyPartitions;
pub use types::{
diff --git a/core/partitions/src/messages_writer.rs
b/core/partitions/src/messages_writer.rs
index 330937c73..4af82d48a 100644
--- a/core/partitions/src/messages_writer.rs
+++ b/core/partitions/src/messages_writer.rs
@@ -19,8 +19,8 @@ use compio::{
fs::{File, OpenOptions},
io::AsyncWriteAtExt,
};
+use iggy_binary_protocol::consensus::iobuf::Frozen;
use iggy_common::{IggyByteSize, IggyError};
-use iobuf::Frozen;
use std::{
rc::Rc,
sync::atomic::{AtomicU64, Ordering},
diff --git a/core/partitions/src/types.rs b/core/partitions/src/types.rs
index dbaf57a59..0036c2a7e 100644
--- a/core/partitions/src/types.rs
+++ b/core/partitions/src/types.rs
@@ -15,8 +15,8 @@
// specific language governing permissions and limitations
// under the License.
+use iggy_binary_protocol::consensus::iobuf::Frozen;
use iggy_common::{IggyByteSize, PollingStrategy};
-use iobuf::Frozen;
use smallvec::SmallVec;
#[derive(Debug, Clone)]
diff --git a/core/simulator/Cargo.toml b/core/simulator/Cargo.toml
index 7c3c93c74..556e47388 100644
--- a/core/simulator/Cargo.toml
+++ b/core/simulator/Cargo.toml
@@ -28,7 +28,6 @@ enumset = { workspace = true }
futures = { workspace = true }
iggy_binary_protocol = { path = "../binary_protocol" }
iggy_common = { path = "../common" }
-iobuf = { workspace = true }
journal = { path = "../journal" }
message_bus = { path = "../message_bus" }
metadata = { path = "../metadata" }
diff --git a/core/simulator/src/client.rs b/core/simulator/src/client.rs
index 4d23affff..1363a0e0f 100644
--- a/core/simulator/src/client.rs
+++ b/core/simulator/src/client.rs
@@ -16,6 +16,7 @@
// under the License.
use bytes::Bytes;
+use iggy_binary_protocol::consensus::iobuf::Owned;
use iggy_binary_protocol::requests::streams::{CreateStreamRequest,
DeleteStreamRequest};
use iggy_binary_protocol::{
Message, Operation, RequestHeader, WireEncode, WireIdentifier, WireName,
@@ -24,7 +25,6 @@ use iggy_common::send_messages2::{
IggyMessage2, IggyMessage2Header, IggyMessages2, SendMessages2Owned,
};
use iggy_common::sharding::IggyNamespace;
-use iobuf::Owned;
use std::cell::Cell;
// TODO: Proper client which implements the full client SDK API
diff --git a/core/simulator/src/deps.rs b/core/simulator/src/deps.rs
index d3410e311..5033d88a4 100644
--- a/core/simulator/src/deps.rs
+++ b/core/simulator/src/deps.rs
@@ -15,9 +15,9 @@
// specific language governing permissions and limitations
// under the License.
+use iggy_binary_protocol::consensus::iobuf::Owned;
use iggy_binary_protocol::{Message, PrepareHeader};
use iggy_common::variadic;
-use iobuf::Owned;
use journal::{Journal, JournalHandle, Storage};
use metadata::MuxStateMachine;
use metadata::stm::consumer_group::ConsumerGroups;
diff --git a/core/simulator/src/packet.rs b/core/simulator/src/packet.rs
index 1539df91a..c523ee45e 100644
--- a/core/simulator/src/packet.rs
+++ b/core/simulator/src/packet.rs
@@ -781,8 +781,10 @@ mod tests {
let header: &mut GenericHeader =
bytemuck::checked::try_from_bytes_mut(&mut buf).expect("zeroed
bytes are valid");
header.command = command;
- Message::try_from(iobuf::Owned::<4096>::copy_from_slice(&buf))
- .expect("generic test buffer must contain a valid generic message")
+ Message::try_from(
+
iggy_binary_protocol::consensus::iobuf::Owned::<4096>::copy_from_slice(&buf),
+ )
+ .expect("generic test buffer must contain a valid generic message")
}
/// Helper: disable all links to/from a given replica (isolate it).