I added new table history_topics with one additional field synced. This field is set to To value of the options that were used to request messages. Effectively we are downloading all messages from whisper mail servers up to this timestamp (minus whisper tolerance interval ~20s). So when the next request is made we will request messages starting from this value.
In RequestAll method we are grouping all topics into two subgroups. Synced (synced timestamp is not zero) and Not synced. For each group we will send individual request. Second group will be filled with topics that were added but we never downloaded messages for them.
It doesn't use optimization that i added to status-go some time ago. Mainly because it will break current interfaces between adapters and protocol. I am not sure yet how to overcome those limitations without making protocol from a generic interface to a specific thing for our mail servers.
I added new table
history_topics
with one additional fieldsynced
. This field is set to To value of the options that were used to request messages. Effectively we are downloading all messages from whisper mail servers up to this timestamp (minus whisper tolerance interval ~20s). So when the next request is made we will request messages starting from this value.In RequestAll method we are grouping all topics into two subgroups. Synced (
synced
timestamp is not zero) and Not synced. For each group we will send individual request. Second group will be filled with topics that were added but we never downloaded messages for them.It doesn't use optimization that i added to status-go some time ago. Mainly because it will break current interfaces between adapters and protocol. I am not sure yet how to overcome those limitations without making protocol from a generic interface to a specific thing for our mail servers.