public void PostResourceFromMemory(string nodeAffinity = null, string resName = null) { if (NodeMemory.Keys.Count == 0) { PostResourceFromScratch(); } var res = SelectResourceFromMemory(false, resName); var affName1 = ResourceSpaceDescriptions.Affinities[res.ResourceName].Aff1; var affName2 = ResourceSpaceDescriptions.Affinities[res.ResourceName].Aff2; Guid?aff1 = GetRandomResAffinity(affName1); Guid?aff2 = GetRandomResAffinity(affName2); var post = new UntransactedPostCommand(res.ResourceKey, res.ResourceName, aff1, aff2, nodeAffinity); ApplyCommand(post); lock (NodeMemory) NodeMemory[res] = post.Res; }
public void PostResourceFromScratch(string nodeAffinity = null, string resName = null) { var id = Guid.NewGuid(); var name = resName ?? GetRandomResName(); var affName1 = ResourceSpaceDescriptions.Affinities[name].Aff1; var affName2 = ResourceSpaceDescriptions.Affinities[name].Aff2; Guid?aff1 = GetRandomResAffinity(affName1); Guid?aff2 = GetRandomResAffinity(affName2); var post = new UntransactedPostCommand(id, name, aff1, aff2, nodeAffinity); ApplyCommand(post); lock (NodeMemory) NodeMemory.Add(new ResourceDescription { ResourceKey = id, ResourceName = name }, post.Res); }