pub async fn lock( zookeeper: Arc<ZooKeeper>, path: String, ) -> ZkResult<Arc<LockGuard>>
Fully distributed locks that are globally synchronous, meaning at any snapshot in time no two clients think they hold the same lock.