Package com.taobao.zeus.socket.master.reqresp

Source Code of com.taobao.zeus.socket.master.reqresp.MasterBeHeartBeat

package com.taobao.zeus.socket.master.reqresp;

import java.util.Date;

import org.jboss.netty.channel.Channel;

import com.google.protobuf.InvalidProtocolBufferException;
import com.taobao.zeus.socket.master.MasterContext;
import com.taobao.zeus.socket.master.MasterWorkerHolder;
import com.taobao.zeus.socket.master.MasterWorkerHolder.HeartBeatInfo;
import com.taobao.zeus.socket.protocol.Protocol.HeartBeatMessage;
import com.taobao.zeus.socket.protocol.Protocol.Request;

public class MasterBeHeartBeat {
  public void beHeartBeat(MasterContext context,Channel channel,Request request) {
    MasterWorkerHolder worker=context.getWorkers().get(channel);
    HeartBeatInfo newbeat=worker.new HeartBeatInfo();
    HeartBeatMessage hbm;
    try {
      hbm = HeartBeatMessage.newBuilder().mergeFrom(request.getBody()).build();
      newbeat.memRate=hbm.getMemRate();
      newbeat.runnings=hbm.getRunningsList();
      newbeat.debugRunnings=hbm.getDebugRunningsList();
      newbeat.manualRunnings=hbm.getManualRunningsList();
      newbeat.timestamp=new Date(hbm.getTimestamp());
      if(worker.heart==null || newbeat.timestamp.getTime()>worker.heart.timestamp.getTime()){
        worker.heart=newbeat;
      }
    } catch (InvalidProtocolBufferException e) {
      e.printStackTrace();
    }
  }
}
TOP

Related Classes of com.taobao.zeus.socket.master.reqresp.MasterBeHeartBeat

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.