-
Notifications
You must be signed in to change notification settings - Fork 8
Description
Hello, realmius is really interesting to me so I'm trying to study the way it syncs data. I have learned that client when connects tells the server which was the last change written at client sides and the server sends only changes after that date. But looking at Realmius.Server.Exchange.RealmiusPersistentConnection at UserConnected method, server parse all the data to be sended to client in a unique operation, so all data is stored at var data and sent at CallDataDownloaded(connectionId, data).
And I wonder what will happens if, after a year of intensive use, database grows 1GB and a new client registers to the server. Have you tested this situation? Is it able to send such a big command? What happens if the connection is broken during the operation? Does it needs to send all the data again?. Don't you think it would be a better approach splitting data to be sent when iterating through pending changes inside "RealmiusServerProcessor.Download" creating a paginated cursor to database instead of the CreateQuery that returns all the pending changes?
Maybe I'm wrong or have not understood properly the flow.