+ 6u8 => {
+ let f = || {
+ let channel_id = Readable::read(reader)?;
+ let err = {
+ let mut size: usize = <u16 as Readable>::read(reader)? as usize;
+ let mut data = vec![];
+ let data_len = reader.read_to_end(&mut data)?;
+ size = cmp::min(data_len, size);
+ match String::from_utf8(data[..size as usize].to_vec()) {
+ Ok(s) => s,
+ Err(_) => return Err(msgs::DecodeError::InvalidValue),
+ }
+ };
+ read_tlv_fields!(reader, {});
+ Ok(Some(Event::ChannelClosed { channel_id, err: err }))
+ };
+ f()
+ },