// Record subscription prototype, and any pending messages public virtual IRequestResult <IHydrationObject> Dehydrate() { StateContainer container = Dehydrating(); container.BundlePrototype = BundlePrototype; container.FailureHandlers = FailureHandlerSet.Select(h => h.Dehydrate().Containee).ToArray(); return(RequestResult <IHydrationObject> .Create(new HydrationObject(GetType(), container.Serialize().ToString()) { ServiceInterface = typeof(IMessageHandler) })); }
private IProcessableUnit QueryFailureHandlers() { var responder = FailureHandlerSet.FirstOrDefault(h => h.HasProcessableCandidates()); return(responder.IsNull() ? null : responder.Next.Containee); }