add info statements

Signed-off-by: kernelkind <kernelkind@gmail.com>
This commit is contained in:
kernelkind
2025-07-16 13:58:25 -04:00
parent cc92fc2082
commit 5168d50257

View File

@@ -270,7 +270,7 @@ pub struct TimelineSub {
state: SubState, state: SubState,
} }
#[derive(Debug)] #[derive(Debug, Clone)]
enum SubState { enum SubState {
NoSub { NoSub {
dependers: usize, dependers: usize,
@@ -300,6 +300,7 @@ impl Default for TimelineSub {
impl TimelineSub { impl TimelineSub {
pub fn try_add_local(&mut self, ndb: &Ndb, filter: &[Filter]) { pub fn try_add_local(&mut self, ndb: &Ndb, filter: &[Filter]) {
let before = self.state.clone();
match &mut self.state { match &mut self.state {
SubState::NoSub { dependers } => { SubState::NoSub { dependers } => {
let Some(sub) = ndb_sub(ndb, filter, "") else { let Some(sub) = ndb_sub(ndb, filter, "") else {
@@ -333,9 +334,15 @@ impl TimelineSub {
dependers: _, dependers: _,
} => {} } => {}
} }
tracing::info!(
"TimelineSub::try_add_local: {:?} => {:?}",
before,
self.state
);
} }
pub fn force_add_remote(&mut self, subid: String) { pub fn force_add_remote(&mut self, subid: String) {
let before = self.state.clone();
match &mut self.state { match &mut self.state {
SubState::NoSub { dependers } => { SubState::NoSub { dependers } => {
self.state = SubState::RemoteOnly { self.state = SubState::RemoteOnly {
@@ -361,9 +368,15 @@ impl TimelineSub {
dependers: _, dependers: _,
} => {} } => {}
} }
tracing::info!(
"TimelineSub::force_add_remote: {:?} => {:?}",
before,
self.state
);
} }
pub fn try_add_remote(&mut self, pool: &mut RelayPool, filter: &Vec<Filter>) { pub fn try_add_remote(&mut self, pool: &mut RelayPool, filter: &Vec<Filter>) {
let before = self.state.clone();
match &mut self.state { match &mut self.state {
SubState::NoSub { dependers } => { SubState::NoSub { dependers } => {
let subid = subscriptions::new_sub_id(); let subid = subscriptions::new_sub_id();
@@ -395,9 +408,15 @@ impl TimelineSub {
dependers: _, dependers: _,
} => {} } => {}
} }
tracing::info!(
"TimelineSub::try_add_remote: {:?} => {:?}",
before,
self.state
);
} }
pub fn increment(&mut self) { pub fn increment(&mut self) {
let before = self.state.clone();
match &mut self.state { match &mut self.state {
SubState::NoSub { dependers } => { SubState::NoSub { dependers } => {
*dependers += 1; *dependers += 1;
@@ -421,6 +440,8 @@ impl TimelineSub {
*dependers += 1; *dependers += 1;
} }
} }
tracing::info!("TimelineSub::increment: {:?} => {:?}", before, self.state);
} }
pub fn get_local(&self) -> Option<Subscription> { pub fn get_local(&self) -> Option<Subscription> {
@@ -442,54 +463,60 @@ impl TimelineSub {
} }
pub fn unsubscribe_or_decrement(&mut self, ndb: &mut Ndb, pool: &mut RelayPool) { pub fn unsubscribe_or_decrement(&mut self, ndb: &mut Ndb, pool: &mut RelayPool) {
match &mut self.state { let before = self.state.clone();
SubState::NoSub { dependers } => { 's: {
*dependers -= 1; match &mut self.state {
} SubState::NoSub { dependers } => {
SubState::LocalOnly { local, dependers } => {
if *dependers > 1 {
*dependers -= 1; *dependers -= 1;
return;
} }
SubState::LocalOnly { local, dependers } => {
if let Err(e) = ndb.unsubscribe(*local) { if *dependers > 1 {
tracing::error!("Could not unsub ndb: {e}"); *dependers -= 1;
return; break 's;
} }
self.state = SubState::NoSub { dependers: 0 }; if let Err(e) = ndb.unsubscribe(*local) {
} tracing::error!("Could not unsub ndb: {e}");
SubState::RemoteOnly { remote, dependers } => { break 's;
if *dependers > 1 { }
*dependers -= 1;
return; self.state = SubState::NoSub { dependers: 0 };
} }
SubState::RemoteOnly { remote, dependers } => {
pool.unsubscribe(remote.to_owned()); if *dependers > 1 {
*dependers -= 1;
self.state = SubState::NoSub { dependers: 0 }; break 's;
} }
SubState::Unified { unified, dependers } => {
if *dependers > 1 { pool.unsubscribe(remote.to_owned());
*dependers -= 1;
return; self.state = SubState::NoSub { dependers: 0 };
} }
SubState::Unified { unified, dependers } => {
pool.unsubscribe(unified.remote.to_owned()); if *dependers > 1 {
*dependers -= 1;
if let Err(e) = ndb.unsubscribe(unified.local) { break 's;
tracing::error!("could not unsub ndb: {e}"); }
self.state = SubState::LocalOnly {
local: unified.local, pool.unsubscribe(unified.remote.to_owned());
dependers: *dependers,
if let Err(e) = ndb.unsubscribe(unified.local) {
tracing::error!("could not unsub ndb: {e}");
self.state = SubState::LocalOnly {
local: unified.local,
dependers: *dependers,
}
} else {
self.state = SubState::NoSub { dependers: 0 };
} }
} else {
self.state = SubState::NoSub {
dependers: *dependers,
};
} }
} }
} }
tracing::info!(
"TimelineSub::unsubscribe_or_decrement: {:?} => {:?}",
before,
self.state
);
} }
pub fn get_filter(&self) -> Option<&Vec<Filter>> { pub fn get_filter(&self) -> Option<&Vec<Filter>> {