/// <summary> /// Declare a subset of data as being fully available in the cache.<br /> /// Used by loader components to declare data preloaded in the cache. /// <seealso cref="DomainDescription" /> <seealso cref="DomainDeclarationAction" /> /// </summary> /// <param name="domain">data description</param> /// <param name="action">add to, remove from or replace current data description</param> public void DeclareDomain(DomainDescription domain, DomainDeclarationAction action) { if (domain == null) { throw new ArgumentNullException(nameof(domain)); } var request = new DomainDeclarationRequest(domain, action); var response = Channel.SendRequest(request); if (response is ExceptionResponse exResponse) { throw new CacheException("Error while declaring a domain", exResponse.Message, exResponse.CallStack); } }
/// <summary> /// Create a new request for the specified type. The domain description will be empty /// </summary> public DomainDeclarationRequest(DomainDescription description, DomainDeclarationAction action) : base(DataAccessType.Write, description.FullTypeName) { _action = action; _description = description; }