'Sets a push updater into the store.
This function only changes the local store. When running on multiple machines one must
use `set_optimizer`.
Parameters
updater : function
The updater function.
Examples
>>> def update(key, input, stored):
...     print "update on key: %d" % key
...     stored += input * 2
>>> kv._set_updater(update)
>>> kv.pull(\'3\', out=a)
>>> print a.asnumpy()
[[ 4.  4.  4.]
[ 4.  4.  4.]]
>>> kv.push(\'3\', mx.nd.ones(shape))
update on key: 3
>>> kv.pull(\'3\', out=a)
>>> print a.asnumpy()
[[ 6.  6.  6.]
[ 6.  6.  6.]]'

def _set_updater(self, updater):

    self._updater = updater
    _updater_proto = ctypes.CFUNCTYPE(None, ctypes.c_int, NDArrayHandle, NDArrayHandle, ctypes.c_void_p)
    self._updater_func = _updater_proto(_updater_wrapper(updater))
    check_call(_LIB.MXKVStoreSetUpdater(self.handle, self._updater_func, None))
