----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviewboard.asterisk.org/r/3025/#review10260 -----------------------------------------------------------
branches/12/res/res_stasis_device_state.c <https://reviewboard.asterisk.org/r/3025/#comment19629> This could probably stand to be a lot smaller (like 64 maybe) branches/12/res/res_stasis_device_state.c <https://reviewboard.asterisk.org/r/3025/#comment19627> Instead of constructing a device_state_subscription and searching by OBJ_SEARCH_OBJECT, just use the name that was passed in and search by OBJ_SEARCH_KEY. That way, you save the overhead of the creation and destruction of an ao2_object whenever this function is called. branches/12/res/res_stasis_device_state.c <https://reviewboard.asterisk.org/r/3025/#comment19628> ao2_unlink_flags() ignores any OBJ_SEARCH_* flags that are passed into it. You can just use ao2_unlink() here instead. branches/12/res/res_stasis_device_state.c <https://reviewboard.asterisk.org/r/3025/#comment19630> You could save some cycles here by just calling ao2_find(device_state_subscriptions, name, OBJ_SEARCH_KEY | OBJ_UNLINK | OBJ_NODATA); - Mark Michelson On Nov. 21, 2013, 7:12 p.m., Kevin Harwell wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviewboard.asterisk.org/r/3025/ > ----------------------------------------------------------- > > (Updated Nov. 21, 2013, 7:12 p.m.) > > > Review request for Asterisk Developers, David Lee and Matt Jordan. > > > Bugs: ASTERISK-22838 > https://issues.asterisk.org/jira/browse/ASTERISK-22838 > > > Repository: Asterisk > > > Description > ------- > > Created a data model and implemented functionality for an ARI device state > resource. The following operations have been added that allow a user to > manipulate an ARI controlled device: > > PUT /device-states/{deviceName}&{deviceState} - Create/Change the state of > an ARI controlled device > GET /device-states/{deviceName} - Retrieve the current state of a device > DELETE /device-states/{deviceName} - Destroy a device-state controlled by ARI > > The ARI controlled device must begin with 'Stasis:'. An example controlled > device name would be Stasis:Example. > > A 'DeviceStateChanged' event has also been added so that an application can > subscribe and receive device change events. Any device state, ARI controlled > or not, can be subscribed to. > > While adding the event, the underlying subscription control mechanism was > refactored so that all current and future resource subscriptions would be the > same. Each event resource must now register itself in order to be able to > properly handle [un]subscribes. > > > Diffs > ----- > > branches/12/rest-api/resources.json 402955 > branches/12/rest-api/api-docs/events.json 402955 > branches/12/rest-api/api-docs/deviceStates.json PRE-CREATION > branches/12/rest-api/api-docs/applications.json 402955 > branches/12/res/stasis/app.c 402955 > branches/12/res/res_stasis_device_state.exports.in PRE-CREATION > branches/12/res/res_stasis_device_state.c PRE-CREATION > branches/12/res/res_stasis.c 402955 > branches/12/res/res_ari_deviceStates.c PRE-CREATION > branches/12/res/ari/resource_deviceStates.c PRE-CREATION > branches/12/res/ari/resource_deviceStates.h PRE-CREATION > branches/12/res/ari/resource_applications.h 402955 > branches/12/res/ari/ari_model_validators.c 402955 > branches/12/res/ari/ari_model_validators.h 402955 > branches/12/res/ari.make 402955 > branches/12/main/devicestate.c 402955 > branches/12/include/asterisk/stasis_app_device_state.h PRE-CREATION > branches/12/include/asterisk/stasis_app.h 402955 > branches/12/include/asterisk/devicestate.h 402955 > > Diff: https://reviewboard.asterisk.org/r/3025/diff/ > > > Testing > ------- > > Some basic testing done using the swagger framework and a websocket > connection. Testing adding, changing, and removing device state with regards > to an ARI controlled device were successful. Also tested [un]subscribing to > the events from device with success. Planning on writing some testsuite test > cases as well. > > > Thanks, > > Kevin Harwell > >
-- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev