本文整理汇总了Java中io.netty.handler.codec.MessageToMessageDecoder类的典型用法代码示例。如果您正苦于以下问题:Java MessageToMessageDecoder类的具体用法?Java MessageToMessageDecoder怎么用?Java MessageToMessageDecoder使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
MessageToMessageDecoder类属于io.netty.handler.codec包,在下文中一共展示了MessageToMessageDecoder类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: injectNetty
import io.netty.handler.codec.MessageToMessageDecoder; //导入依赖的package包/类
public static void injectNetty(final Player player) {
try {
Object handle = player.getClass().getMethod("getHandle").invoke(player);
Object playerConnection = handle.getClass().getField("playerConnection").get(handle);
final Channel channel = (Channel) channelField.get(playerConnection.getClass().getField("networkManager").get(playerConnection));
if (channel != null) {
channel.pipeline().addAfter("decoder", "update_sign", new MessageToMessageDecoder<Object>() {
@Override
protected void decode(ChannelHandlerContext channelHandlerContext, Object object, List list) throws Exception {
if (object.toString().contains("PacketPlayInUpdateSign")) {
Object packet = ReflectionUtil.getNMSClass("PacketPlayInUpdateSign").cast(object);
Bukkit.getPluginManager().callEvent(new PlayerInputEvent(player, (String[]) packet.getClass().getMethod("b").invoke(packet)));
}
list.add(object);
}
});
}
} catch (Exception e) {
e.printStackTrace();
}
}
示例2: callDecode
import io.netty.handler.codec.MessageToMessageDecoder; //导入依赖的package包/类
public static List<Object> callDecode(MessageToMessageDecoder decoder, ChannelHandlerContext ctx, ByteBuf input) throws InvocationTargetException {
List<Object> output = new ArrayList<>();
try {
BungeePipelineUtil.DECODE_METHOD.invoke(decoder, ctx, input, output);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
return output;
}
示例3: decompress
import io.netty.handler.codec.MessageToMessageDecoder; //导入依赖的package包/类
public static ByteBuf decompress(ChannelHandlerContext ctx, ByteBuf bytebuf) {
try {
return (ByteBuf) callDecode((MessageToMessageDecoder) ctx.pipeline().get("decompress"), ctx.pipeline().context("decompress"), bytebuf).get(0);
} catch (InvocationTargetException e) {
e.printStackTrace();
return ctx.alloc().buffer();
}
}
示例4: CryptoFunction
import io.netty.handler.codec.MessageToMessageDecoder; //导入依赖的package包/类
public CryptoFunction(byte[] key, MessageToMessageEncoder<ByteBuf> encoder, MessageToMessageDecoder<ByteBuf> decoder) {
this.key = key;
this.encoder = encoder;
this.decoder = decoder;
}
示例5: getDecoder
import io.netty.handler.codec.MessageToMessageDecoder; //导入依赖的package包/类
public MessageToMessageDecoder<ByteBuf> getDecoder() {
return decoder;
}