[ https://issues.apache.org/jira/browse/ZOOKEEPER-196?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mahadev konar updated ZOOKEEPER-196: ------------------------------------ Resolution: Fixed Hadoop Flags: [Reviewed] Status: Resolved (was: Patch Available) I just committed this. thanks ben. > doxygen comment for state argument of watcher_fn typedef and implementation > differ ("...one of the *_STATE constants, otherwise -1") > ------------------------------------------------------------------------------------------------------------------------------------ > > Key: ZOOKEEPER-196 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-196 > Project: Zookeeper > Issue Type: Bug > Components: c client > Environment: Linux > Reporter: Maxim P. Dementiev > Assignee: Benjamin Reed > Fix For: 3.2.0 > > Attachments: ZOOKEEPER-196.patch > > > In zookeeper.h: > * \param state connection state. If the type is ZOO_SESSION_EVENT, the state > value > * will be one of the *_STATE constants, otherwise -1. > but for this sequence: > 1. zoo_awexists(name) > 2. zoo_acreate(name) > we've got a watcher callback with type=ZOO_CREATED_EVENT and state!=-1 > I think the comment should be altered to underline the difference between > zookeeper_init() callback usage and others ("the getter API functions with > the "w" prefix in their names") for the new "watcher object" style. > It looks like the type and path argument values are useless for the former > (because type is always ZOO_SESSION_EVENT, and path is always empty), and the > state is useless for the latter (it is considered to be -1). > And more, the state of the legacy style should be commented - will it be > marked as obsolete? Or will it be supported in the future? > I wonder if there are any plans to split current watcher_fn callback to > something like: > 1. new watcher_fn: typedef void (*watcher_fn)(zhandle_t *zh, int type, const > char *path, void *watcherCtx); > 2. connection_fn: typedef void (*watcher_fn)(zhandle_t *zh, int state, void > *context); > Because, you see, the usage is different and there is no any common set of > arguments apart from zh (which is common for API) and context. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.