1 /* 2 * Copyright 2016 The Netty Project 3 * 4 * The Netty Project licenses this file to you under the Apache License, version 2.0 (the 5 * "License"); you may not use this file except in compliance with the License. You may obtain a 6 * copy of the License at: 7 * 8 * https://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software distributed under the License 11 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 12 * or implied. See the License for the specific language governing permissions and limitations under 13 * the License. 14 */ 15 16 package io.netty.handler.codec.redis; 17 18 import io.netty.buffer.ByteBuf; 19 import io.netty.util.internal.UnstableApi; 20 21 /** 22 * A strategy interface for caching {@link RedisMessage}s. 23 */ 24 @UnstableApi 25 26 public interface RedisMessagePool { 27 28 /** 29 * Returns {@link SimpleStringRedisMessage} for given {@code content}. Returns {@code null} it does not exist. 30 */ 31 SimpleStringRedisMessage getSimpleString(String content); 32 33 /** 34 * Returns {@link SimpleStringRedisMessage} for given {@code content}. Returns {@code null} it does not exist. 35 */ 36 SimpleStringRedisMessage getSimpleString(ByteBuf content); 37 38 /** 39 * Returns {@link ErrorRedisMessage} for given {@code content}. Returns {@code null} it does not exist. 40 */ 41 ErrorRedisMessage getError(String content); 42 43 /** 44 * Returns {@link ErrorRedisMessage} for given {@code content}. Returns {@code null} it does not exist. 45 */ 46 ErrorRedisMessage getError(ByteBuf content); 47 48 /** 49 * Returns {@link IntegerRedisMessage} for given {@code value}. Returns {@code null} it does not exist. 50 */ 51 IntegerRedisMessage getInteger(long value); 52 53 /** 54 * Returns {@link IntegerRedisMessage} for given {@code content}. Returns {@code null} it does not exist. 55 */ 56 IntegerRedisMessage getInteger(ByteBuf content); 57 58 /** 59 * Returns {@code byte[]} for given {@code msg}. Returns {@code null} it does not exist. 60 */ 61 byte[] getByteBufOfInteger(long value); 62 }