// Create stores a new value at node. Fails if already set. func (kz *Kazoo) create(node string, value []byte, ephemeral bool) (err error) { if err = kz.mkdirRecursive(path.Dir(node)); err != nil { return } flags := int32(0) if ephemeral { flags = zk.FlagEphemeral } _, err = kz.conn.Create(node, value, flags, zk.WorldACL(zk.PermAll)) return }
// MkdirAll creates a directory recursively func (kz *Kazoo) mkdirRecursive(node string) (err error) { parent := path.Dir(node) if parent != "/" { if err = kz.mkdirRecursive(parent); err != nil { return } } _, err = kz.conn.Create(node, nil, 0, zk.WorldACL(zk.PermAll)) if err == zk.ErrNodeExists { err = nil } return }