List of usage examples for io.netty.handler.codec.memcache.binary BinaryMemcacheOpcodes SET
byte SET
To view the source code for io.netty.handler.codec.memcache.binary BinaryMemcacheOpcodes SET.
Click Source Link
From source file:com.couchbase.client.core.endpoint.binary.BinaryCodec.java
License:Open Source License
/** * Creates the actual protocol level request for an incoming upsert request. * * @param request the incoming upsert request. * @param ctx the channel handler context for buffer allocations. * @return the built protocol request.//from w w w .ja v a 2s .c o m */ private BinaryMemcacheRequest handleUpsertRequest(final UpsertRequest request, final ChannelHandlerContext ctx) { ByteBuf extras = ctx.alloc().buffer(8); extras.writeInt(request.flags()); extras.writeInt(request.expiration()); FullBinaryMemcacheRequest msg = new DefaultFullBinaryMemcacheRequest(request.key(), extras, request.content()); msg.setOpcode(BinaryMemcacheOpcodes.SET); msg.setKeyLength((short) request.key().length()); msg.setTotalBodyLength( (short) request.key().length() + request.content().readableBytes() + extras.readableBytes()); msg.setReserved(request.partition()); msg.setExtrasLength((byte) extras.readableBytes()); return msg; }
From source file:com.flysoloing.learning.network.netty.binary.MemcacheClientHandler.java
License:Apache License
/** * Transforms basic string requests to binary memcache requests *///from w w w . j a v a2s . co m @Override public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) { String command = (String) msg; if (command.startsWith("get ")) { String keyString = command.substring("get ".length()); ByteBuf key = Unpooled.wrappedBuffer(keyString.getBytes(CharsetUtil.UTF_8)); BinaryMemcacheRequest req = new DefaultBinaryMemcacheRequest(key); req.setOpcode(BinaryMemcacheOpcodes.GET); 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 keyString = parts[1]; String value = parts[2]; ByteBuf key = Unpooled.wrappedBuffer(keyString.getBytes(CharsetUtil.UTF_8)); ByteBuf content = Unpooled.wrappedBuffer(value.getBytes(CharsetUtil.UTF_8)); ByteBuf extras = ctx.alloc().buffer(8); extras.writeZero(8); BinaryMemcacheRequest req = new DefaultFullBinaryMemcacheRequest(key, extras, content); req.setOpcode(BinaryMemcacheOpcodes.SET); ctx.write(req, promise); } else { throw new IllegalStateException("Unknown Message: " + msg); } }
From source file:io.aos.netty5.memcache.binary.MemcacheClientHandler.java
License:Apache License
/** * Transforms basic string requests to binary memcache requests *//* www .j a v a 2 s .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); } }