test_class.declarator: session
test_class.modifier: private
test_class.original_string: private IoSession session;
test_class.type: IoSession
test_class.var_name: session
test_class.declarator: TEMPLATE_TITLE = "FAST_2"
test_class.modifier: private static final
test_class.original_string: private static final String TEMPLATE_TITLE = "FAST_2";
test_class.type: String
test_class.var_name: TEMPLATE_TITLE
test_class.declarator: CORE_ALIAS = new CoreVersion().getAlias()
test_class.modifier: private static final
test_class.original_string: private static final String CORE_ALIAS = new CoreVersion().getAlias();
test_class.type: String
test_class.var_name: CORE_ALIAS
test_class.declarator: DICTIONARY_URI = SailfishURI.unsafeParse(CORE_ALIAS + ":" + TEMPLATE_TITLE)
test_class.modifier: private static final
test_class.original_string: private static final SailfishURI DICTIONARY_URI = SailfishURI.unsafeParse(CORE_ALIAS + ":" + TEMPLATE_TITLE);
test_class.type: SailfishURI
test_class.var_name: DICTIONARY_URI
test_class.declarator: TEMPLATE_TITLE_V_1_2 = "FAST_V_1_2"
test_class.modifier: private static final
test_class.original_string: private static final String TEMPLATE_TITLE_V_1_2 = "FAST_V_1_2";
test_class.type: String
test_class.var_name: TEMPLATE_TITLE_V_1_2
test_class.declarator: DICTIONARY_URI_V_1_2 = SailfishURI.unsafeParse(CORE_ALIAS + ":" + TEMPLATE_TITLE)
test_class.modifier: private static final
test_class.original_string: private static final SailfishURI DICTIONARY_URI_V_1_2 = SailfishURI.unsafeParse(CORE_ALIAS + ":" + TEMPLATE_TITLE);
test_class.type: SailfishURI
test_class.var_name: DICTIONARY_URI_V_1_2
test_class.declarator: msgFactory = DefaultMessageFactory.getFactory()
test_class.modifier: private static final
test_class.original_string: private static final IMessageFactory msgFactory = DefaultMessageFactory.getFactory();
test_class.type: IMessageFactory
test_class.var_name: msgFactory
test_class.file: BackEnd/Service/service-fast/src/test/java/com/exactpro/sf/services/fast/TestFastCodec.java
test_class.identifier: TestFastCodec
test_class.superclass: extends FASTServicePluginTest
test_case.body: @Test
  	public void testDecodeMessage() throws Exception
  	{
  		FASTCodec codec = getCodec(DICTIONARY_URI, TEMPLATE_TITLE);
  		int[] array = {
  				0xA8, 0xC0, 0x81, 0xB0, 0x32, 0x30, 0x31, 0x32,
  				0x30, 0x31, 0X30, 0X31, 0x2D, 0x30, 0x31, 0x3A,
  				0x30, 0x31, 0x3A, 0x30, 0x31, 0x2E, 0x33, 0x33,
  				0xB3, 0xB0, 0x80, 0x4D, 0x41, 0x44, 0x54, 0x59,
  				0xB0, 0x74, 0x6E, 0x70, 0x31, 0x32, 0xB3, 0x80,
  				0x80};
  		byte[] b = new byte[array.length];
  		for (int i=0; i<array.length; i++)
  		{
  			b[i] = (byte) array[i];
  		}
  
  		IoBuffer toDecode = IoBuffer.wrap( b );
  		toDecode.order(ByteOrder.LITTLE_ENDIAN);
  		toDecode.position(0);
  
  		IoSession decodeSession = new DummySession();
  
  		MockProtocolDecoderOutput decoderOutput = new MockProtocolDecoderOutput();
  		boolean decodableResult = codec.doDecode( decodeSession, toDecode, decoderOutput );
  		System.out.println(decoderOutput.getMessageQueue().element());
  
  		Assert.assertTrue( "Decoding error.", decodableResult);
  	}
test_case.class_method_signature: TestFastCodec.testDecodeMessage()
test_case.full_signature: @Test public void testDecodeMessage()
test_case.identifier: testDecodeMessage
test_case.invocations: getCodec wrap order position doDecode println element getMessageQueue assertTrue
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testDecodeMessage()
focal_class.declarator: INPUT_CONTEXT_ATTR_NAME = "FAST_INPUT_CONTEXT"
focal_class.modifier: private static final
focal_class.original_string: private static final String INPUT_CONTEXT_ATTR_NAME = "FAST_INPUT_CONTEXT";
focal_class.type: String
focal_class.var_name: INPUT_CONTEXT_ATTR_NAME
focal_class.declarator: OUTPUT_CONTEXT_ATTR_NAME = "FAST_OUTPUT_CONTEXT"
focal_class.modifier: private static final
focal_class.original_string: private static final String OUTPUT_CONTEXT_ATTR_NAME = "FAST_OUTPUT_CONTEXT";
focal_class.type: String
focal_class.var_name: OUTPUT_CONTEXT_ATTR_NAME
focal_class.declarator: logger = LoggerFactory.getLogger(FASTCodec.class)
focal_class.modifier: static final
focal_class.original_string: static final Logger logger = LoggerFactory.getLogger(FASTCodec.class);
focal_class.type: Logger
focal_class.var_name: logger
focal_class.declarator: serviceContext
focal_class.modifier: private
focal_class.original_string: private IServiceContext serviceContext;
focal_class.type: IServiceContext
focal_class.var_name: serviceContext
focal_class.declarator: msgDictionary
focal_class.modifier: private
focal_class.original_string: private IDictionaryStructure msgDictionary;
focal_class.type: IDictionaryStructure
focal_class.var_name: msgDictionary
focal_class.declarator: converter
focal_class.modifier: private
focal_class.original_string: private FastToIMessageConverter converter;
focal_class.type: FastToIMessageConverter
focal_class.var_name: converter
focal_class.declarator: settings
focal_class.modifier: private
focal_class.original_string: private FASTCodecSettings settings;
focal_class.type: FASTCodecSettings
focal_class.var_name: settings
focal_class.declarator: registry
focal_class.modifier: private
focal_class.original_string: private TemplateRegistry registry;
focal_class.type: TemplateRegistry
focal_class.var_name: registry
focal_class.declarator: iMsgToFastConverter
focal_class.modifier: private
focal_class.original_string: private IMessageToFastConverter iMsgToFastConverter;
focal_class.type: IMessageToFastConverter
focal_class.var_name: iMsgToFastConverter
focal_class.declarator: decoder
focal_class.modifier: private
focal_class.original_string: private FastToIMessageDecoder decoder;
focal_class.type: FastToIMessageDecoder
focal_class.var_name: decoder
focal_class.file: BackEnd/Service/service-fast/src/main/java/com/exactpro/sf/services/fast/FASTCodec.java
focal_class.identifier: FASTCodec
focal_class.class_method_signature: FASTCodec.init(
  			IServiceContext serviceContext,
  			ICommonSettings settings,
  			IMessageFactory msgFactory, IDictionaryStructure dictionary)
focal_class.full_signature: @Override public void init(
  			IServiceContext serviceContext,
  			ICommonSettings settings,
  			IMessageFactory msgFactory, IDictionaryStructure dictionary)
focal_class.identifier: init
focal_class.modifiers: @Override public
focal_class.parameters: (
  			IServiceContext serviceContext,
  			ICommonSettings settings,
  			IMessageFactory msgFactory, IDictionaryStructure dictionary)
focal_class.return: void
focal_class.signature: void init(
  			IServiceContext serviceContext,
  			ICommonSettings settings,
  			IMessageFactory msgFactory, IDictionaryStructure dictionary)
focal_class.class_method_signature: FASTCodec.getRegistry()
focal_class.full_signature: private TemplateRegistry getRegistry()
focal_class.identifier: getRegistry
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: TemplateRegistry
focal_class.signature: TemplateRegistry getRegistry()
focal_class.class_method_signature: FASTCodec.createFastContext()
focal_class.full_signature: protected Context createFastContext()
focal_class.identifier: createFastContext
focal_class.modifiers: protected
focal_class.parameters: ()
focal_class.return: Context
focal_class.signature: Context createFastContext()
focal_class.class_method_signature: FASTCodec.getSettings()
focal_class.full_signature: protected FASTCodecSettings getSettings()
focal_class.identifier: getSettings
focal_class.modifiers: protected
focal_class.parameters: ()
focal_class.return: FASTCodecSettings
focal_class.signature: FASTCodecSettings getSettings()
focal_class.class_method_signature: FASTCodec.doDecode(
  			IoSession session,
  			IoBuffer in,
  			ProtocolDecoderOutput out)
focal_class.full_signature: @Override protected boolean doDecode(
  			IoSession session,
  			IoBuffer in,
  			ProtocolDecoderOutput out)
focal_class.identifier: doDecode
focal_class.modifiers: @Override protected
focal_class.parameters: (
  			IoSession session,
  			IoBuffer in,
  			ProtocolDecoderOutput out)
focal_class.return: boolean
focal_class.signature: boolean doDecode(
  			IoSession session,
  			IoBuffer in,
  			ProtocolDecoderOutput out)
focal_class.class_method_signature: FASTCodec.decode(IoSession session, IoBuffer in,
  			ProtocolDecoderOutput out)
focal_class.full_signature: @Override public void decode(IoSession session, IoBuffer in,
  			ProtocolDecoderOutput out)
focal_class.identifier: decode
focal_class.modifiers: @Override public
focal_class.parameters: (IoSession session, IoBuffer in,
  			ProtocolDecoderOutput out)
focal_class.return: void
focal_class.signature: void decode(IoSession session, IoBuffer in,
  			ProtocolDecoderOutput out)
focal_class.class_method_signature: FASTCodec.doRealDecode(
  			IoSession session,
  			IoBuffer in,
  			ProtocolDecoderOutput out)
focal_class.full_signature: private boolean doRealDecode(
  			IoSession session,
  			IoBuffer in,
  			ProtocolDecoderOutput out)
focal_class.identifier: doRealDecode
focal_class.modifiers: private
focal_class.parameters: (
  			IoSession session,
  			IoBuffer in,
  			ProtocolDecoderOutput out)
focal_class.return: boolean
focal_class.signature: boolean doRealDecode(
  			IoSession session,
  			IoBuffer in,
  			ProtocolDecoderOutput out)
focal_class.class_method_signature: FASTCodec.fillMessageMetadata(
  			IoSession session,
  			IoBuffer in,
  			IMessage imsg)
focal_class.full_signature: private void fillMessageMetadata(
  			IoSession session,
  			IoBuffer in,
  			IMessage imsg)
focal_class.identifier: fillMessageMetadata
focal_class.modifiers: private
focal_class.parameters: (
  			IoSession session,
  			IoBuffer in,
  			IMessage imsg)
focal_class.return: void
focal_class.signature: void fillMessageMetadata(
  			IoSession session,
  			IoBuffer in,
  			IMessage imsg)
focal_class.class_method_signature: FASTCodec.getInputContext(IoSession session)
focal_class.full_signature: private Context getInputContext(IoSession session)
focal_class.identifier: getInputContext
focal_class.modifiers: private
focal_class.parameters: (IoSession session)
focal_class.return: Context
focal_class.signature: Context getInputContext(IoSession session)
focal_class.class_method_signature: FASTCodec.getOutputContext(IoSession session)
focal_class.full_signature: private Context getOutputContext(IoSession session)
focal_class.identifier: getOutputContext
focal_class.modifiers: private
focal_class.parameters: (IoSession session)
focal_class.return: Context
focal_class.signature: Context getOutputContext(IoSession session)
focal_class.class_method_signature: FASTCodec.encode(
  			IoSession session,
  			Object message,
  			ProtocolEncoderOutput out)
focal_class.full_signature: @Override public void encode(
  			IoSession session,
  			Object message,
  			ProtocolEncoderOutput out)
focal_class.identifier: encode
focal_class.modifiers: @Override public
focal_class.parameters: (
  			IoSession session,
  			Object message,
  			ProtocolEncoderOutput out)
focal_class.return: void
focal_class.signature: void encode(
  			IoSession session,
  			Object message,
  			ProtocolEncoderOutput out)
focal_class.class_method_signature: FASTCodec.getIMessageToFastConverter()
focal_class.full_signature: private IMessageToFastConverter getIMessageToFastConverter()
focal_class.identifier: getIMessageToFastConverter
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: IMessageToFastConverter
focal_class.signature: IMessageToFastConverter getIMessageToFastConverter()
focal_class.superclass: extends AbstractCodec
focal_method.body: @Override
  	protected boolean doDecode(
  			IoSession session,
  			IoBuffer in,
  			ProtocolDecoderOutput out) throws Exception {
  		if (!in.hasRemaining()) {
  			return false;
  		}
  		int position = in.position();
  		try {
  			if (doRealDecode(session, in, out)) {
  				return true;
  			}
  		} catch (Exception e) {
  			logger.error("Can not decode message", e);
  		}
  		in.position(position);
  		return false;
  	}
focal_method.class_method_signature: FASTCodec.doDecode(
  			IoSession session,
  			IoBuffer in,
  			ProtocolDecoderOutput out)
focal_method.full_signature: @Override protected boolean doDecode(
  			IoSession session,
  			IoBuffer in,
  			ProtocolDecoderOutput out)
focal_method.identifier: doDecode
focal_method.invocations: hasRemaining position doRealDecode error position
focal_method.modifiers: @Override protected
focal_method.parameters: (
  			IoSession session,
  			IoBuffer in,
  			ProtocolDecoderOutput out)
focal_method.return: boolean
focal_method.signature: boolean doDecode(
  			IoSession session,
  			IoBuffer in,
  			ProtocolDecoderOutput out)