These are chat archives for akkadotnet/

Jan 2015
Aaron Stannard
Jan 10 2015 00:28
@Horusiath is your Akka.Persistence stuff ported from the canonical Akka implementation? Saw your example but haven't had a chance to look inside the repo yet
Bartosz Sypytkowski
Jan 10 2015 09:03

Yes, it's ported from original repo, with little differences. Major one is that original Akka implements most of the features as a traits, but since they seriously interfere in whole actor lifecycle mechanism, I had to implement them as classes. This is how inheritance tree looks like (it will be probably expanded):

  • Akka.ActorBase
    • Eventsourced
      • PersistentActor
        • UntypedPersistentActor
          • ReceivePersistentActor
        • GuaranteedDeliveryActor
    • PersistentView

GuarateedDelivery term is equivalent of Akka AtLeastOnceDelivery - name was shorter and looks more reasonable for me. It's internals are serialized as AtLeastOnceDelivery however to maintain compatibility with original Akka messages (serialization is made with Google.ProtocolBuffers lib - same used in Akka.Cluster - and I've copied original Akka.Persistence proto file to generate necessary classes).

There is only one type of journal at the moment (MemoryJournal, due to it's nature it's content is destroyed after program stop) and one snapshot store (LocalSnapshotStore, used to persisting snapshots inside local system files).

Roger Johansson
Jan 10 2015 18:06
I've browsed the code and it looks great! :+1: