class HeartbeatProcessor implements NettyRemotingProcessor {

    private final ManageServer manageServer;

    public HeartbeatProcessor(final ManageServer manageServer) {
        this.manageServer = manageServer;
    }

    @Override
    public ClusterMsg.Message handle(ChannelHandlerContext ctx, ClusterMsg.Message message) {<FILL_FUNCTION_BODY>}
}

        String identity = message.getIdentity();
        boolean isChannelExist = this.manageServer.isChannelExist(identity);
        if (!isChannelExist) {
            log.info("the collector {} is not online.", identity);
        }
        if (log.isDebugEnabled()) {
            log.debug("server receive collector {} heartbeat", message.getIdentity());
        }
        return ClusterMsg.Message.newBuilder()
                .setType(ClusterMsg.MessageType.HEARTBEAT)
                .build();
    
<no_super_class>