private async static Task ZkChangedAsync(WatchedEvent @event, ZkManager zk) { if (@event.get_Type() == Watcher.Event.EventType.NodeDeleted) { GetAutoResetEvent(@event.getPath())?.Set(); } await Task.Delay(1); }
public async static Task <ZkManager> CreateZkAsync() { ZkManager.LogToFile = false; var zk = new ZkManager(Option.GetZkOption(), ZkChangedAsync); var createRootTask = zk.ExistsAsync(Option.LockRoot); if (!createRootTask.Result) { await zk.CreateAsync(Option.LockRoot, null, CreateMode.PERSISTENT); } return(zk); }