Kittyfisto / SharpRemote

A .NET remoting library
MIT License
12 stars 5 forks source link

Experiment with third type of entity: Synchronized POC #50

Open Kittyfisto opened 6 years ago

Kittyfisto commented 6 years ago

Currently there are two types of entities which SharpRemote can deal with: POD (Plain old data) and reference types.

There might be room for a third kind of data type, which I hereby name Synchronized POD types. These types are basically a mixture of the two above "extremes": Both endpoints have a copy of the object graph and SharpRemote is responsible for eventually synchronizing changes between endpoints. The gist of this is that this synchronization isn't synchronous, but asynchronous and reading properties does NOT incur new remote procedure calls.

Obviously such an approach can only work if there is exactly one writer and one (or possibly more) readers, however should allow for an easier exchange of more complex object graphs than either of the two existing methods of sharing data.