def handle_msg(self, proto, msg):
        if msg[0:3] not in ['GET', 'SET', 'ADD', 'RES', 'UPD']:
            return
            
        if msg[0:3] in ['GET']:
            _, key = msg.split(' ', 1)
            key = json.loads(key)
            if self.dict in key:
                item = self.dict[key]
                proto.send('RES ' +  json.dumps([key,item]))
            else:
                proto.send('RES ' + json.dumps([key, None]))
            
        if msg[0:3] in ['SET']:
            _, item = msg.split(' ', 1)
            key, value = json.loads(item)
            self.dict[key] = value
            
        if msg[0:3] in ['ADD']:
            _, item = msg.split(' ', 1)
            key, value = json.loads(item)
            if key not in self.dict:
                self.dict[key] = []
            self.dict[key].append(value)
            
        if msg[0:3] in ['RES']:
            _, item = msg.split(' ', 1)
            key, value = json.loads(item)
            if key in self.queue:
                self.queue[key].put(value)
            
        if msg[0:3] in ['UPD']:
            _, item = msg.split(' ', 1)
            key, value = json.loads(item)
            if key not in self.dict or self.dict[key] is not value:
                self.dict[key] = value
dataset/ETHPy150Open c00w/gevent-dht/gevent_dht/set_store.py/SetHandler.handle_msg/swapped operands of `in`