+ pub fn get_data_dir(&self) -> String {
+ self.path_to_channel_data.clone()
+ }
+
+ /// Writes the provided `ChannelManager` to the path provided at `FilesystemPersister`
+ /// initialization, within a file called "manager".
+ pub fn persist_manager<ChanSigner, M, T, K, F, L>(
+ data_dir: String,
+ manager: &ChannelManager<ChanSigner, Arc<M>, Arc<T>, Arc<K>, Arc<F>, Arc<L>>
+ ) -> Result<(), std::io::Error>
+ where ChanSigner: ChannelKeys + Writeable,
+ M: chain::Watch<Keys=ChanSigner>,
+ T: BroadcasterInterface,
+ K: KeysInterface<ChanKeySigner=ChanSigner>,
+ F: FeeEstimator,
+ L: Logger
+ {
+ let mut manager_bytes = Vec::new();
+ manager.write(&mut manager_bytes).unwrap();
+ println!("VMW manager bytes being persisted: {}", manager_bytes.len());
+ match util::write_to_file(data_dir, "manager".to_string(), manager) {
+ Ok(()) => {
+ println!("VMW: writing manager was Ok");
+ Ok(())
+ },
+ Err(e) => {
+ println!("VMW: errored persisting manager: {:?}", e);
+ return Err(e)
+ }
+ }
+ }
+