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

com.barchart.udt.CCC Maven / Gradle / Ivy

The newest version!
/**
 * Copyright (C) 2009-2013 Barchart, Inc. 
 *
 * All rights reserved. Licensed under the OSI BSD License.
 *
 * http://www.opensource.org/licenses/bsd-license.php
 */
package com.barchart.udt;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * A wrapper around the base UDT congestion control class
 * 
 * @see reference
 * @see tutorial
 * @see FactoryUDT
 * @see FactoryInterfaceUDT
 * 
 * @author CCob
 */
public class CCC {

	/** Force SocketUDT to load JNI if it hasn't already */
	private static boolean initOk = SocketUDT.INIT_OK;

	/** Used internally by the JNI layer, points to JNICCC class */
	private long nativeHandle;

	private int msINT;
	private int pktINT;
	private int usRTO;
	private final Logger log = LoggerFactory.getLogger(CCC.class);

	private native void initNative();

	protected native void setACKTimer(final int msINT);

	protected native void setACKInterval(final int pktINT);

	protected native void setRTO(final int usRTO);

	protected native void setPacketSndPeriod(final double sndPeriod);

	protected native void setCWndSize(final double cWndSize);

	protected native MonitorUDT getPerfInfo();

	public CCC() {
		initNative();
	}

	public void init() {
		log.info("CCC::init");
	}

	public void close() {
		log.info("CCC::close");
	}

	public void onACK(final int ack) {
	}

	public void onLoss(final int[] lossList) {
	}

	public void onTimeout() {
	}

	// TODO: implement Java wrapper around CPacket
	// public void onPktSent(const CPacket* pkt) {}
	// public void onPktReceived(const CPacket* pkt) {}
	// public void processCustomMsg(const CPacket& pkt) {}/
	// void sendCustomMsg(CPacket& pkt) const;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy