package cn.muchinfo.rma.netcore.socket;

import java.util.Timer;
import java.util.TimerTask;

/**
 * 信息发送异步任务类
 * @param <T> Packet40 or Packet50
 */
public class AsyncSocketTask<T> {
    /** 5.0报文直接为流水号；4.0报文为流水号+"_"+大类号（由于服务端行情推送会使用流水号自增） */
    public String key;
    /** 返回功能码，主要用于过滤账户服务的错传包 */
    public int rspFunCode;
    /** 超时标识 */
    public Timer timeOut;
    /** 回调 */
    public Callback<T> callback;

    public AsyncSocketTask(String key, int rspFunCode, Timer timeOut, Callback<T> callback) {
        this.key = key;
        this.rspFunCode = rspFunCode;
        this.timeOut = timeOut;
        this.callback = callback;
    }
}

abstract class MyTimerTask extends TimerTask {
    public String key = "";
}
