All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.barchart.feed.ddf.message.provider.DF_C1_Response Maven / Gradle / Ivy

There is a newer version: 4.2.73
Show newest version
/**
 * Copyright (C) 2011-2012 Barchart, Inc. 
 *
 * All rights reserved. Licensed under the OSI BSD License.
 *
 * http://www.opensource.org/licenses/bsd-license.php
 */
package com.barchart.feed.ddf.message.provider;

import java.nio.ByteBuffer;

import com.barchart.feed.base.values.api.TextValue;
import com.barchart.feed.base.values.provider.ValueBuilder;
import com.barchart.feed.ddf.message.api.DDF_ControlResponse;
import com.barchart.feed.ddf.message.api.DDF_MessageVisitor;
import com.barchart.feed.ddf.message.enums.DDF_MessageType;

class DF_C1_Response extends BaseControl implements DDF_ControlResponse {

	protected byte[] comment;

	@Override
	public  Result accept(
			final DDF_MessageVisitor visitor, final Param param) {
		return visitor.visit(this, param);
	}

	DF_C1_Response() {
		super(DDF_MessageType.TCP_COMMAND);
	}

	DF_C1_Response(final DDF_MessageType messageType) {
		super(messageType);
		millisUTC = System.currentTimeMillis();
	}

	@Override
	public final void encodeDDF(final ByteBuffer buffer) {

		final byte code = (byte) (getMessageType().code() >> 8);

		buffer.put(code);
		buffer.put(comment);

	}

	/* CLockout ip xxx.xxx.xxx */
	/* + Successful login */
	/* - Login failed */
	@Override
	public final void decodeDDF(final ByteBuffer buffer) {

		final byte code = (byte) (getMessageType().code() >> 8);

		CodecHelper.check(buffer.get(), code);

		final int size = buffer.remaining();
		comment = new byte[size];
		buffer.get(comment);

	}

	@Override
	protected void appedFields(final StringBuilder text) {

		super.appedFields(text);

		text.append("message comment : ");
		text.append(getComment());
		text.append("\n");

	}

	@Override
	public TextValue getComment() {
		return ValueBuilder.newText(comment);
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy