Example usage for io.netty.handler.codec.memcache.binary BinaryMemcacheRequest setOpcode

List of usage examples for io.netty.handler.codec.memcache.binary BinaryMemcacheRequest setOpcode

Introduction

In this page you can find the example usage for io.netty.handler.codec.memcache.binary BinaryMemcacheRequest setOpcode.

Prototype

BinaryMemcacheMessage setOpcode(byte code);

Source Link

Document

Sets the opcode for the message.

Usage

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 v  a2s.  com*/
 */
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());/*from ww  w .ja v  a2s  . c  o m*/
    msg.setKeyLength((short) request.key().length());
    msg.setTotalBodyLength((short) request.key().length());
    msg.setReserved(request.partition());
    return msg;
}

From source file:com.couchbase.client.core.endpoint.binary.BinaryCodec.java

License:Open Source License

/**
 * Creates the actual protocol level request for an incoming bucket config request.
 *
 * @return the built protocol request.//from www .  j  a  va2  s. c  o  m
 */
private BinaryMemcacheRequest handleGetBucketConfigRequest() {
    BinaryMemcacheRequest msg = new DefaultBinaryMemcacheRequest();
    msg.setOpcode((byte) 0xb5);
    return msg;
}

From source file:com.flysoloing.learning.network.netty.binary.MemcacheClientHandler.java

License:Apache License

/**
 * Transforms basic string requests to binary memcache requests
 *//* w  ww . j a v a2 s .  c  o  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
 *///from w w w.  ja  v a  2  s  .  c om
@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);
    }
}