Example #1
0
        /// <summary>
        /// Adds the OrgnalR grains to the builder, and also automatically registers memory grain storage for group and user lists.
        /// This is useful for local development, however it is recommended that you add a persistent storage for:
        /// <see cref="GROUP_STORAGE_PROVIDER"/>, and <see cref="USER_STORAGE_PROVIDER"/>, and <see cref="MESSAGE_STORAGE_PROVIDER"/>
        /// Then you may use <see cref="AddOrgnalR<T>(T builder)"/> to add orgnalr using the storage providers of your choice
        /// </summary>
        /// <param name="builder">The builder to configure</param>
        /// <returns>The silo builder, configured with memory storage and grains for the OrgnalR backplane</returns>
        public static ISiloBuilder AddOrgnalRWithMemoryGrainStorage(this ISiloBuilder builder, Action <OrgnalRSiloConfig>?configure = null)
        {
            try
            {
                builder.AddMemoryGrainStorage(Constants.GROUP_STORAGE_PROVIDER);
            }
            catch { /* Do nothing, already added  */ }
            try
            {
                builder.AddMemoryGrainStorage(Constants.USER_STORAGE_PROVIDER);
            }
            catch { /* Do nothing, already added  */ }
            try
            {
                builder.AddMemoryGrainStorage(Constants.MESSAGE_STORAGE_PROVIDER);
            }
            catch { /* Do nothing, already added  */ }

            return(builder.AddOrgnalR(configure));
        }