List of usage examples for io.netty.handler.codec.memcache.binary BinaryMemcacheRequest setTotalBodyLength
BinaryMemcacheMessage setTotalBodyLength(int totalBodyLength);
From source file:com.couchbase.client.core.endpoint.binary.BinaryCodec.java
License:Open Source License
/** * Creates the actual protocol level request for an incoming get request. * * @param request the incoming get request. * @return the built protocol request.//from ww w . j a va 2 s .co m */ private BinaryMemcacheRequest handleGetRequest(final GetRequest request) { int length = request.key().length(); BinaryMemcacheRequest msg = new DefaultBinaryMemcacheRequest(request.key()); msg.setOpcode(BinaryMemcacheOpcodes.GET); msg.setKeyLength((short) length); msg.setTotalBodyLength((short) length); msg.setReserved(request.partition()); return msg; }
From source file:com.couchbase.client.core.endpoint.binary.BinaryCodec.java
License:Open Source License
private BinaryMemcacheRequest handleRemoveRequest(final RemoveRequest request) { BinaryMemcacheRequest msg = new DefaultBinaryMemcacheRequest(request.key()); msg.setOpcode(BinaryMemcacheOpcodes.DELETE); msg.setCAS(request.cas());// w ww . jav a 2s . c o m msg.setKeyLength((short) request.key().length()); msg.setTotalBodyLength((short) request.key().length()); msg.setReserved(request.partition()); return msg; }
From source file:io.aos.netty5.memcache.binary.MemcacheClientHandler.java
License:Apache License
/** * Transforms basic string requests to binary memcache requests *//*from w w w . j a v a2s .c o m*/ @Override public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) { String command = (String) msg; if (command.startsWith("get ")) { String key = command.substring("get ".length()); BinaryMemcacheRequest req = new DefaultBinaryMemcacheRequest(key); req.setOpcode(BinaryMemcacheOpcodes.GET); req.setKeyLength((short) key.length()); req.setTotalBodyLength(key.length()); ctx.write(req, promise); } else if (command.startsWith("set ")) { String[] parts = command.split(" ", 3); if (parts.length < 3) { throw new IllegalArgumentException("Malformed Command: " + command); } String key = parts[1]; String value = parts[2]; ByteBuf content = Unpooled.wrappedBuffer(value.getBytes(CharsetUtil.UTF_8)); ByteBuf extras = ctx.alloc().buffer(8); BinaryMemcacheRequest req = new DefaultFullBinaryMemcacheRequest(key, extras, content); req.setOpcode(BinaryMemcacheOpcodes.SET); req.setKeyLength((short) key.length()); req.setExtrasLength((byte) 8); req.setTotalBodyLength(key.length() + 8 + value.length()); ctx.write(req, promise); } else { throw new IllegalStateException("Unknown Message: " + msg); } }