This is redundant.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
impl<T> Complex for T where T: Core + Simple {
#[throws(ApiPieceOpError)]
fn op_complex(&self, a: ApiPieceOpArgs) -> UpdateFromOpComplex {
- (self.op(a)?, vec![], None)
+ (self.op(a)?, None)
}
}
}
warn!("api_piece_op ERROR {:?}: {:?}", &form, &err);
Err(err)?;
},
- Ok((PieceUpdate { wrc, log, ops }, updates, unprepared)) => {
+ Ok((PieceUpdate { wrc, log, ops }, unprepared)) => {
let mut buf = PrepareUpdatesBuffer::new(g,
Some((wrc, client, form.cseq)),
Some(1 + log.len()));
buf.piece_update(piece, ops);
- buf.piece_updates(updates);
buf.log_updates(log);
if let Some(unprepared) = unprepared { unprepared(&mut buf); }
wrc,
PieceUpdateOp::Modify(()),
logents,
- ).into(), vec![], None)
+ ).into(), None)
},
_ => break,
WhatResponseToClientOp::Unpredictable,
PieceUpdateOp::Modify(()),
log);
- (r.into(), vec![], None)
+ (r.into(), None)
}
UniversalImage => {
let r: UpdateFromOpComplex = (
log,
ops: PieceUpdateOps::PerPlayer(default()),
},
- vec![],
unprepared_update(piece),
);
r
(PieceUpdate {
wrc, log,
ops: PUOs::Simple(PUO::Modify(())),
- }, xupdates, None)
+ },
+ xupdates.into_unprepared())
}
fn occultation_notify_hook(&self, piece: PieceId) -> UnpreparedUpdates {
(PieceUpdate {
wrc, log,
ops: PUOs::Simple(PUO::Modify(())),
- }, xupdates, None)
+ }, xupdates.into_unprepared())
}
}
pub type UpdateFromOpComplex = (
PieceUpdate,
- Vec<(PieceId, PieceUpdateOps)>,
UnpreparedUpdates,
);
}
}
+#[ext(pub)]
+impl Vec<(PieceId, PieceUpdateOps)> {
+ fn into_unprepared(self) -> UnpreparedUpdates {
+ Some(Box::new(
+ move |buf: &mut PrepareUpdatesBuffer| {
+ buf.piece_updates(self)
+ }))
+ }
+}
+
impl<'u> Into<FormattedLogEntry<'u>> for TransmitUpdateLogEntry<'u> {
fn into(self) -> FormattedLogEntry<'u> {
let (tz, logent) = self;