/// <summary> /// Modify the given EngineConfiguration to use ProtoBuf for journaling. Pass unique ints for each type of command. /// The id's must be maintained across versions of your assembly. /// </summary> public static void ConfigureJournaling(EngineConfiguration config, IDictionary <Type, int> commandTypeTags, RuntimeTypeModel typeModel = null) { config.SetFormatterFactory((cfg, fu) => { var formatter = new ProtoBufFormatter <JournalEntry>(typeModel, includeTypeName: false, useLengthPrefix: true); typeModel.RegisterCommandSubTypes(commandTypeTags); return(formatter); }, FormatterUsage.Journal); }