Skip to content

Commit

Permalink
Merge pull request #344 from 0xbillw/optimize/ces-mq
Browse files Browse the repository at this point in the history
optimize: [ces-mq] filter empty message when group
  • Loading branch information
0xbillw authored May 9, 2024
2 parents edcadae + 53dbf51 commit ad6d21d
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 8 deletions.
15 changes: 14 additions & 1 deletion crates/ces-mq/src/send_queue.rs
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,13 @@ impl MessageSendQueue {
let inner = self.inner.lock();
inner
.iter()
.map(|(k, v)| (k.clone(), v.messages.clone()))
.filter_map(|(k, v)| {
if !v.messages.is_empty() {
Some((k.clone(), v.messages.clone()))
} else {
None
}
})
.collect()
}

Expand All @@ -124,7 +130,14 @@ impl MessageSendQueue {
let mut inner = self.inner.lock();
for (k, v) in inner.iter_mut() {
let seq = next_sequence_for(k);
let before_size = v.messages.len();
v.messages.retain(|msg| msg.sequence >= seq);
if log::log_enabled!(target: "ces_mq", log::Level::Trace) {
let n = before_size - v.messages.len();
if n > 0 {
log::trace!("purge {k} messages: {n}, by next sequence: {seq}");
}
}
}
}

Expand Down
14 changes: 7 additions & 7 deletions crates/cestory/src/ceseal_service.rs
Original file line number Diff line number Diff line change
Expand Up @@ -671,7 +671,7 @@ impl<Platform: pal::Platform + Serialize + DeserializeOwned> Ceseal<Platform> {
if safe_mode_level > 0 {
continue
}
trace!("State synced");
trace!(block = block.block_header.number, "chain storage synced");
state.purge_mq();
let block_number = block.block_header.number;

Expand Down Expand Up @@ -885,8 +885,8 @@ impl<Platform: pal::Platform + Serialize + DeserializeOwned> Ceseal<Platform> {
AttestationReport::SgxIas { ra_report, .. } => {
match IasFields::from_ias_report(&ra_report[..]) {
Ok((ias_fields, _)) => {
info!("measurement :{}", hex::encode(ias_fields.measurement()));
info!("measurement hash :{}", ias_fields.measurement_hash());
info!("RA report measurement :{}", hex::encode(ias_fields.measurement()));
info!("RA report measurement hash :{:?}", ias_fields.measurement_hash());
},
Err(e) => {
error!("deserial ias report to IasFields failed: {:?}", e);
Expand All @@ -909,13 +909,13 @@ impl<Platform: pal::Platform + Serialize + DeserializeOwned> Ceseal<Platform> {
.as_ref()
.map(|state| state.send_mq.all_messages_grouped().into_iter().collect())
.unwrap_or_default();
if log::log_enabled!(log::Level::Debug) {
if log::log_enabled!(log::Level::Trace) && !messages.is_empty() {
for (_, msgs) in &messages {
for (index, SignedMessage { message, sequence, .. }) in msgs.iter().enumerate() {
debug!(
trace!(
target: "ces_mq",
"mq egress message {index} [seq: {}, sender: {}, destination: {:?}]",
sequence, message.sender, message.destination
"got egress message {index} [sender: {}, destination: {:?}, seq: {sequence}]",
message.sender, message.destination
);
}
}
Expand Down

0 comments on commit ad6d21d

Please sign in to comment.