handling nm_read

This commit is contained in:
lyr90329 2014-08-05 15:31:56 +08:00
parent 9f62222af4
commit e10f04ca25
1 changed files with 46 additions and 0 deletions

View File

@ -284,6 +284,52 @@ public class memSession implements Runnable
}
}
break;
case nm_read:
{
nm_read msgLite = msg.getMessageLite();
Integer state = getLockState(msgLite.getKey());
if (state == LockKey.waitLock)
{
addSession(e);
return ;
}
else if(state == LockKey.unLock)
{
String value = (String)client.get(msgLite.getKey());
nr_Read_res.Builder builder = nr_Read_res.newBuilder();
builder.setKey(msgLite.getKey());
builder.setTime(msgLite.getTime());
if (value != null)
{
builder.setValue(value);
}
else
{
builder.setValue("");
}
NetMsg send = NetMsg.newMessage();
send.setMessageLite(builder);
send.setMsgID(EMSGID.nr_read_res);
webServeChannel.write(send);
return ;
}
else if(state == LockKey.badLock)
{
nr_Read_res.Builder builder = nr_Read_res.newBuilder();
builder.setKey(msgLite.getKey());
builder.setTime(msgLite.getTime());
NetMsg send = NetMsg.newMessage();
send.setMessageLite(builder);
send.setMsgID(EMSGID.nr_read_res);
webServeChannel.write(send);
}
}
break;
default:
System.err.println(msg.getMsgID().toString());
break;