org.voovan.network.messagesplitter.TimeOutMesssageSplitter Maven / Gradle / Ivy
package org.voovan.network.messagesplitter;
import org.voovan.network.IoSession;
import org.voovan.network.MessageSplitter;
import java.nio.ByteBuffer;
public class TimeOutMesssageSplitter implements MessageSplitter {
private long initTime;
public TimeOutMesssageSplitter(){
initTime = -1;
}
@Override
public int canSplite(IoSession session, ByteBuffer byteBuffer) {
int timeOut = session.socketContext().getReadTimeout();
long currentTime = System.currentTimeMillis();
if(initTime==-1){
initTime = currentTime;
}
if(currentTime-initTime >= timeOut){
return byteBuffer.limit();
}else{
return -1;
}
}
}