package com.webpieces.http2parser.impl;
import java.util.ArrayList;
import java.util.List;
import org.webpieces.data.api.DataWrapper;
import com.webpieces.http2parser.api.Http2Memento;
import com.webpieces.http2parser.api.dto.lib.AbstractHttp2Frame;
import com.webpieces.http2parser.api.dto.lib.Http2Frame;
public class Http2MementoImpl implements Http2Memento {
private ParsingState parsingState = ParsingState.NEED_PARSE_FRAME_HEADER;
private DataWrapper leftOverData;
private List<Http2Frame> parsedFrames = new ArrayList<>();
private FrameHeaderData frameHeaderData;
private volatile long maxFrameSize;
public Http2MementoImpl(DataWrapper emptyWrapper, long maxFrameSize) {
this.leftOverData = emptyWrapper;
this.maxFrameSize = maxFrameSize;
}
public void setParsedFrames(List<Http2Frame> parsedMessages) {
this.parsedFrames = parsedMessages;
}
@Override
public List<Http2Frame> getParsedFrames() {
return parsedFrames;
}
public void setLeftOverData(DataWrapper allData) {
this.leftOverData = allData;
}
public ParsingState getParsingState() {
return parsingState;
}
public void setParsingState(ParsingState parsingState) {
this.parsingState = parsingState;
}
public void setFrameHeaderData(FrameHeaderData frameHeaderData) {
this.frameHeaderData = frameHeaderData;
}
public FrameHeaderData getFrameHeaderData() {
return frameHeaderData;
}
public void addParsedFrame(AbstractHttp2Frame parsedPayload) {
parsedFrames.add(parsedPayload);
}
@Override
public DataWrapper getLeftOverData() {
return leftOverData;
}
public long getIncomingMaxFrameSize() {
return maxFrameSize;
}
@Override
public void setIncomingMaxFrameSize(long maxFrameSize) {
this.maxFrameSize = maxFrameSize;
}
}