
org.littleshoot.stun.stack.decoder.StunMessageDecodingState Maven / Gradle / Ivy
The newest version!
package org.littleshoot.stun.stack.decoder;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.apache.commons.id.uuid.UUID;
import org.littleshoot.mina.common.ByteBuffer;
import org.littleshoot.mina.filter.codec.ProtocolDecoderOutput;
import org.littleshoot.stun.stack.message.BindingErrorResponse;
import org.littleshoot.stun.stack.message.BindingRequest;
import org.littleshoot.stun.stack.message.BindingSuccessResponse;
import org.littleshoot.stun.stack.message.StunMessage;
import org.littleshoot.stun.stack.message.StunMessageType;
import org.littleshoot.stun.stack.message.attributes.StunAttribute;
import org.littleshoot.stun.stack.message.attributes.StunAttributeType;
import org.littleshoot.stun.stack.message.attributes.StunAttributesFactory;
import org.littleshoot.stun.stack.message.attributes.StunAttributesFactoryImpl;
import org.littleshoot.stun.stack.message.turn.AllocateErrorResponse;
import org.littleshoot.stun.stack.message.turn.AllocateRequest;
import org.littleshoot.stun.stack.message.turn.AllocateSuccessResponse;
import org.littleshoot.stun.stack.message.turn.ConnectRequest;
import org.littleshoot.stun.stack.message.turn.ConnectionStatusIndication;
import org.littleshoot.stun.stack.message.turn.DataIndication;
import org.littleshoot.stun.stack.message.turn.SendIndication;
import org.littleshoot.util.mina.DecodingState;
import org.littleshoot.util.mina.DecodingStateMachine;
import org.littleshoot.util.mina.FixedLengthDecodingState;
import org.littleshoot.util.mina.MinaUtils;
import org.littleshoot.util.mina.decode.binary.UnsignedShortDecodingState;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* State machine for decoding STUN messages.
*/
public class StunMessageDecodingState extends DecodingStateMachine
{
private final static Logger m_log =
LoggerFactory.getLogger(StunMessageDecodingState.class);
private static final Map
EMPTY_ATTRIBUTES = Collections.emptyMap();
@Override
protected DecodingState init() throws Exception
{
m_log.debug("Initing...");
return new ReadMessageType();
}
@Override
protected void destroy() throws Exception
{
}
@Override
protected DecodingState finishDecode(final List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy