db_reg_agent: refreshRegistration to immediately re-register

sayer/1.4-spce2.6
Stefan Sayer 15 years ago committed by Stefan Sayer
parent acb2338dff
commit 398fce127c

@ -1021,6 +1021,14 @@ void DBRegAgent::DIremoveRegistration(int subscriber_id, AmArg& ret) {
ret.push("OK");
}
void DBRegAgent::DIrefreshRegistration(int subscriber_id, AmArg& ret) {
DBG("DI method: refreshRegistration(%i)\n", subscriber_id);
scheduleRegistration(subscriber_id);
ret.push(200);
ret.push("OK");
}
// ///////// DI API ///////////////////
void DBRegAgent::invoke(const string& method,
@ -1049,10 +1057,14 @@ void DBRegAgent::invoke(const string& method,
} else if (method == "removeRegistration"){
args.assertArrayFmt("i"); // subscriber_id
DIremoveRegistration(args.get(0).asInt(), ret);
} else if(method == "_list"){
} else if (method == "refreshRegistration"){
args.assertArrayFmt("i"); // subscriber_id
DIrefreshRegistration(args.get(0).asInt(), ret);
} else if(method == "_list"){
ret.push(AmArg("createRegistration"));
ret.push(AmArg("updateRegistration"));
ret.push(AmArg("removeRegistration"));
ret.push(AmArg("refreshRegistration"));
} else
throw AmDynInvoke::NotImplemented(method);
}

@ -234,6 +234,7 @@ class DBRegAgent
const string& pass, const string& realm,
const string& contact, AmArg& ret);
void DIremoveRegistration(int subscriber_id, AmArg& ret);
void DIrefreshRegistration(int subscriber_id, AmArg& ret);
public:

@ -28,6 +28,7 @@ DI control functions
createRegistration(int subscriber_id, string user, string pass, string realm [, string contact])
updateRegistration(int subscriber_id, string user, string pass, string realm [, string contact])
refreshRegistration(int subscriber_id)
removeRegistration(int subscriber_id)
In order to be restart-safe also when sending requests is delayed through ratelimiting,

Loading…
Cancel
Save