nickva commented on a change in pull request #756: Make couch_peruser a proper
Erlang app
URL: https://github.com/apache/couchdb/pull/756#discussion_r143383472
##########
File path: src/couch_peruser/src/couch_peruser.erl
##########
@@ -12,59 +12,118 @@
-module(couch_peruser).
-behaviour(gen_server).
+-behaviour(mem3_cluster).
-include_lib("couch/include/couch_db.hrl").
-include_lib("mem3/include/mem3.hrl").
--define(USERDB_PREFIX, "userdb-").
-
% gen_server callbacks
-export([start_link/0, init/1, handle_call/3, handle_cast/2, handle_info/2,
terminate/2, code_change/3]).
+% cluster state notification callback
+-export([notify_cluster_event/2]).
+
-export([init_changes_handler/1, changes_handler/3]).
--record(state, {parent, db_name, delete_dbs, changes_pid, changes_ref}).
--record(clusterState, {parent, db_name, delete_dbs, states}).
+% mem3_cluster callbacks
+-export([
+ cluster_stable/1,
+ cluster_unstable/1
+]).
+
+-record(state, {
Review comment:
`state` vs `clusterState` seem a bit confusing. Wonder if it is better to
have `state` be the state of the main gen_server (instead of clusterState) and
the change feed state to be the `ch_state `or `ch_acc` (sometimes in functions
like that it's called an accumulator).
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services