// Path: src/main/java/com/ystruct.middleware/stormmq/smq/ConsumeResult.java
// public class ConsumeResult {
//     private ConsumeStatus status = ConsumeStatus.FAIL;
//     private String info;
//     private String groupID;
//     private String topic;
//     private String msgId;
// 
//     public ConsumeStatus getStatus() {
//         return status;
//     }
// 
//     public void setStatus(ConsumeStatus status) {
//         this.status = status;
//     }
// 
//     public String getInfo() {
//         return info;
//     }
// 
//     public void setInfo(String info) {
//         this.info = info;
//     }
// 
//     public String getGroupID() {
//         return groupID;
//     }
// 
//     public void setGroupID(String groupID) {
//         this.groupID = groupID;
//     }
// 
//     public String getTopic() {
//         return topic;
//     }
// 
//     public void setTopic(String topic) {
//         this.topic = topic;
//     }
// 
//     public String getMsgId() {
//         return msgId;
//     }
// 
//     public void setMsgId(String msgId) {
//         this.msgId = msgId;
//     }
// }


import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelInboundHandlerAdapter;
import model.*;
import smq.ConsumeResult;

    @Override
    public void channelActive(ChannelHandlerContext ctx) throws Exception {
        super.channelActive(ctx);
    }

    @Override
    public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
      //  System.out.println("收到消息");
        StormResponse response = (StormResponse)msg;

        String key = response.getRequestId();
        if(connect.ContainsFuture(key)){
            InvokeFuture<Object> future = connect.removeFuture(key);
            //没有找到对应的发送请求,则返回
            if(future == null){
                return;
            }
            if(this.cause != null){
                //设置异常结果,会触发里面的回调函数
               // System.out.println("StormConr  sumerHandler:::-->cause:"+cause);
                future.setCause(cause);
                if(listener != null)
                    listener.onException(cause);
            }else {
                future.setResult(response);
            }
        }else {
            //如果不是consumer主动发送的数据,则说明是服务器主动发送的消息,则调用消息收到
            if(listener != null){
// Path: src/main/java/com/ystruct.middleware/stormmq/smq/ConsumeResult.java
// public class ConsumeResult {
//     private ConsumeStatus status = ConsumeStatus.FAIL;
//     private String info;
//     private String groupID;
//     private String topic;
//     private String msgId;
// 
//     public ConsumeStatus getStatus() {
//         return status;
//     }
// 
//     public void setStatus(ConsumeStatus status) {
//         this.status = status;
//     }
// 
//     public String getInfo() {
//         return info;
//     }
// 
//     public void setInfo(String info) {
//         this.info = info;
//     }
// 
//     public String getGroupID() {
//         return groupID;
//     }
// 
//     public void setGroupID(String groupID) {
//         this.groupID = groupID;
//     }
// 
//     public String getTopic() {
//         return topic;
//     }
// 
//     public void setTopic(String topic) {
//         this.topic = topic;
//     }
// 
//     public String getMsgId() {
//         return msgId;
//     }
// 
//     public void setMsgId(String msgId) {
//         this.msgId = msgId;
//     }
// }


// Path: src/main/java/com/ystruct.middleware/stormmq/consumer/netty/StormConsumerHandler.java
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelInboundHandlerAdapter;
import model.*;
import smq.ConsumeResult;


    @Override
    public void channelActive(ChannelHandlerContext ctx) throws Exception {
        super.channelActive(ctx);
    }

    @Override
    public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
      //  System.out.println("收到消息");
        StormResponse response = (StormResponse)msg;

        String key = response.getRequestId();
        if(connect.ContainsFuture(key)){
            InvokeFuture<Object> future = connect.removeFuture(key);
            //没有找到对应的发送请求,则返回
            if(future == null){
                return;
            }
            if(this.cause != null){
                //设置异常结果,会触发里面的回调函数
               // System.out.println("StormConr  sumerHandler:::-->cause:"+cause);
                future.setCause(cause);
                if(listener != null)
                    listener.onException(cause);
            }else {
                future.setResult(response);
            }
        }else {
            //如果不是consumer主动发送的数据,则说明是服务器主动发送的消息,则调用消息收到
            if(listener != null){
                ConsumeResult result = (ConsumeResult)listener.onResponse(response);