Skip to content

Commit

Permalink
新增监控器方法
Browse files Browse the repository at this point in the history
  • Loading branch information
xuexiangjys committed Jul 24, 2019
1 parent fa7df44 commit e27028c
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 2 deletions.
13 changes: 12 additions & 1 deletion xtcp_runtime/src/main/java/com/xuexiang/xtcp/XTCP.java
Original file line number Diff line number Diff line change
Expand Up @@ -120,13 +120,24 @@ public XTCP setILogger(@NonNull ILogger logger) {
/**
* 创建一个监控器
*
* @param interval
* @param interval 监控器检查的间期
* @return
*/
public static IMonitor newMonitor(long interval) {
return TimeoutMonitor.get(interval);
}

/**
* 创建一个监控器
*
* @param targetName 监听目标的名称
* @param interval 监控器检查的间期
* @return
*/
public static IMonitor newMonitor(String targetName, long interval) {
return TimeoutMonitor.get(targetName, interval);
}

/**
* 创建一个缓冲区
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,20 @@ public interface IMonitor {
*/
void processWork();

/**
* 处理监听工作,并更改监听对象
*
* @param targetName
*/
void processWork(String targetName);

/**
* 处理监听工作,并更改监听对象和监听间期
*
* @param targetName
*/
void processWork(String targetName, long interval);

/**
* @return 是否在工作
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,18 @@ public class TimeoutMonitor extends Thread implements IMonitor {
/**
* 获得超时监控器
*
* @param interval
* @param targetName 监听目标的名称
* @param interval 监控器检查的间期
* @return
*/
public static TimeoutMonitor get(String targetName, long interval) {
return new TimeoutMonitor(targetName, interval);
}

/**
* 获得超时监控器
*
* @param interval 监控器检查的间期
* @return
*/
public static TimeoutMonitor get(long interval) {
Expand Down Expand Up @@ -135,6 +146,19 @@ public void processWork() {
mCount = 0;
}

@Override
public void processWork(String targetName) {
mCount = 0;
mTargetName = targetName;
}

@Override
public void processWork(String targetName, long interval) {
mCount = 0;
mTargetName = targetName;
mInterval = interval;
}

@Override
public boolean isWorking() {
return mIsMonitorRunning;
Expand Down

0 comments on commit e27028c

Please sign in to comment.