ZashIn pubsub, is there a difference between pubsub#max_items=0 and pubsub#persist_items=false ?
edhelasits been 30sec, I'm still thinking, and I don't have an answer yet :D
flowZash, probably not. but I think as soon as max_items > 0, then persist_items is of interest
Zashwhat does max_items do if persist = false?
flowunder that assumption that persistence here means "store items in persitent storage", then max_items limits the number of items in volatile memory?
ZashI'm under the impression that 'max_items' limit the number of items in _persistent_ storage
flowthe field labes gives the impression, yes
floweven though, persist could mean here either on persistent storage or in volatile memory
Zashisn't that an implementation detail in any case?
Zashor internal something something
Zash"persistent storage" vs "volatile"
ZashWhy does that matter to a network protocol?
flowIn any case, I believe the description of pubsub#max_items "Max # of items to persist.…" to be ambiguous
flowwell it sure does matter to the user if his items are permanently stored or in volatile memory
flowZash, a pubsub implementation may not implement a persitent storage backend for its items (like prosody at the beginning). In that case, I'd say that the implementation can not allow persist_items=true
flowHowever, an pubsub implementation may implement persitent storage, but also allows a node to be configured so that its items are only stored in volatile memory (perist_items=false)
ZashLast time my understanding changed to be that persist_items=false means that events are broadcast and then *poof* gone
flowMaybe, as I said, I beleive the specification to be ambiguous here. And a quick search of persist_items in xep60 did not clarify this for me
jonas’just xep0060 things
jonas’though the true xep0060 experience would've been if a `persist_nonvolatile` setting popped up which nobody had seen before which switches between the three behaviours
jonas’(of course, persist_items=false and persist_nonvolatile=true would be undefined)
ZashI've considered a way to configure which internal API to use