bandwidthinstance.java

来自「270的linux说明」· Java 代码 · 共 682 行 · 第 1/2 页

JAVA
682
字号
	{	    long socketId = getSocketId(socket);	    return GetSessionPercentTxNative(socketId);	}		/**	 * For DatagramSocket	 * @param socket	 * @return	 * @throws IntelMobileException	 */	public float GetSessionPercentTx(DatagramSocket socket) throws IntelMobileException	{	    long socketId = getSocketId(socket);	    return GetSessionPercentTxNative(socketId);	}		/**	 * Gets the maximum percentage of bandwidth the socket can transmit on network devices.	 * @param socket	 * @return	 * @throws IntelMobileException	 */	public float GetSessionPercentRx(Socket socket) throws IntelMobileException	{	    long socketId = getSocketId(socket);	    return GetSessionPercentRxNative(socketId);	}		/**	 * For DatagramSocket	 * @param socket	 * @return	 * @throws IntelMobileException	 */	public float GetSessionPercentRx(DatagramSocket socket) throws IntelMobileException	{	    long socketId = getSocketId(socket);	    return GetSessionPercentRxNative(socketId);	}		/**	 * (bps) Gets the maximum bits per second the given socket can transmit over network devices.	 * This function returns the ?effective limit?, which is the lower of the limits set by the application execution policy, the process policy, or the system.	 * @param socket	 * @return	 * @throws IntelMobileException	 */	public float GetEffectiveSessionLimitTx(Socket socket) throws IntelMobileException	{	    long socketId = getSocketId(socket);	    return GetEffectiveSessionLimitTxNative(socketId);	}		/**	 * For DatagramSocket	 * @param socket	 * @return	 * @throws IntelMobileException	 */	public float GetEffectiveSessionLimitTx(DatagramSocket socket) throws IntelMobileException	{	    long socketId = getSocketId(socket);	    return GetEffectiveSessionLimitTxNative(socketId);	}		/**	 * (bps) Gets the maximum bits per second the socket can receive over network devices.	 * This function returns the ?effective limit?, which is the lower of the limits set by the application execution policy, the process policy, or the system.	 * @param socket	 * @return	 * @throws IntelMobileException	 */	public float GetEffectiveSessionLimitRx(Socket socket) throws IntelMobileException	{	    long socketId = getSocketId(socket);	    return GetEffectiveSessionLimitRxNative(socketId);	}		/**	 * For DatagramSocket	 * @param socket	 * @return	 * @throws IntelMobileException	 */	public float GetEffectiveSessionLimitRx(DatagramSocket socket) throws IntelMobileException	{	    long socketId = getSocketId(socket);	    return GetEffectiveSessionLimitRxNative(socketId);	}		/**	 * If true, the limits for this connection can be adaptive. If false, percent-based functions shouldn?t be used.	 * @param socket	 * @return	 * @throws IntelMobileException	 */	public boolean GetSessionAdaptivelyLimitable(Socket socket) throws IntelMobileException	{	    long socketId = getSocketId(socket);	    return GetSessionAdaptivelyLimitableNative(socketId);	}		/**	 * For DatagramSocket	 * @param socket	 * @return	 * @throws IntelMobileException	 */	public boolean GetSessionAdaptivelyLimitable(DatagramSocket socket) throws IntelMobileException	{	    long socketId = getSocketId(socket);	    return GetSessionAdaptivelyLimitableNative(socketId);	}		/**	 * If true, the bandwidth limits automatically change proportional to the change in the link speed.	 * For example, if the link speed doubles, the limit doubles as well.	 * @param socket	 * @return	 * @throws IntelMobileException	 */	public boolean GetSessionAdaptive(Socket socket) throws IntelMobileException	{	    long socketId = getSocketId(socket);	    return GetSessionAdaptiveNative(socketId);	}		/**	 * For DatagramSocket	 * @param socket	 * @return	 * @throws IntelMobileException	 */	public boolean GetSessionAdaptive(DatagramSocket socket) throws IntelMobileException	{	    long socketId = getSocketId(socket);	    return GetSessionAdaptiveNative(socketId);	}		/**	 * Turns the adaptive mode for a connection on or off.	 * @param socket	 * @param isAdaptive  A setting isAdaptive = true, turns on adaptive mode. It is turned off otherwise.	 * @return	 * @throws IntelMobileException	 */	public boolean SetSessionAdaptive(Socket socket, boolean isAdaptive) throws IntelMobileException	{	    long socketId = getSocketId(socket);	    return SetSessionAdaptiveNative(socketId, isAdaptive);	}		/**	 * For DatagramSocket	 * @param socket	 * @param isAdaptive	 * @return	 * @throws IntelMobileException	 */	public boolean SetSessionAdaptive(DatagramSocket socket, boolean isAdaptive) throws IntelMobileException	{	    long socketId = getSocketId(socket);	    return SetSessionAdaptiveNative(socketId, isAdaptive);	}		/**	 * If the return value is true, the limit for socketid is currently being enforced when sending data.	 * @param socket	 * @return	 * @throws IntelMobileException	 */	public boolean GetSessionLimitedTx(Socket socket) throws IntelMobileException	{	    long socketId = getSocketId(socket);	    return GetSessionLimitedTxNative(socketId);	}		/**	 * For DatagramSocket	 * @param socket	 * @return	 * @throws IntelMobileException	 */	public boolean GetSessionLimitedTx(DatagramSocket socket) throws IntelMobileException	{	    long socketId = getSocketId(socket);	    return GetSessionLimitedTxNative(socketId);	}		/**	 * If the return value is true, the limit for socketid is currently being enforced when receiving data.	 * @param socket	 * @return	 * @throws IntelMobileException	 */	public boolean GetSessionLimitedRx(Socket socket) throws IntelMobileException	{	    long socketId = getSocketId(socket);	    return GetSessionLimitedRxNative(socketId);	}		/**	 * For DatagramSocket	 * @param socket	 * @return	 * @throws IntelMobileException	 */	public boolean GetSessionLimitedRx(DatagramSocket socket) throws IntelMobileException	{	    long socketId = getSocketId(socket);	    return GetSessionLimitedRxNative(socketId);	}		/**	 * Enables or disables enforcement of a connection limit for sending data.	 * @param socket	 * @param isLimited  Setting isLimited = true turns on the limit enforcement. It is turned off otherwise.	 * @return	 * @throws IntelMobileException	 */	public boolean SetSessionLimitedTx(Socket socket, boolean isLimited) throws IntelMobileException	{	    long socketId = getSocketId(socket);	    return SetSessionLimitedTxNative(socketId, isLimited);	}	/**	 * For DatagramSocket.	 * @param socket	 * @param isLimited	 * @return	 * @throws IntelMobileException	 */	public boolean SetSessionLimitedTx(DatagramSocket socket, boolean isLimited) throws IntelMobileException	{	    long socketId = getSocketId(socket);	    return SetSessionLimitedTxNative(socketId, isLimited);	}		/**	 * Enables or disables enforcement of a connection limit for receiving data.	 * @param socket	 * @param isLimited  Setting isLimited = true turns on the limit enforcement. It is turned off otherwise.	 * @return	 * @throws IntelMobileException	 */	public boolean SetSessionLimitedRx(Socket socket, boolean isLimited) throws IntelMobileException	{	    long socketId = getSocketId(socket);	    return SetSessionLimitedRxNative(socketId, isLimited);	}		/**	 * For DatagramSocket.	 * @param socket	 * @param isLimited	 * @return	 * @throws IntelMobileException	 */	public boolean SetSessionLimitedRx(DatagramSocket socket, boolean isLimited) throws IntelMobileException	{	    long socketId = getSocketId(socket);	    return SetSessionLimitedRxNative(socketId, isLimited);	}		// internal use	private long getSocketId(Socket socket) throws IntelMobileException	{	    InetAddress addr = socket.getLocalAddress();	    	    int port = socket.getLocalPort();	    	    if (addr.isAnyLocalAddress() || port == -1)	    {	        // not connected	 	        ThrowNotConnectNative();	    }	    	    return getSocketId(addr, port);	}		// internal use	private long getSocketId(DatagramSocket socket)	{	    InetAddress addr = socket.getLocalAddress();	    	    int port = socket.getLocalPort();	    	    return getSocketId(addr, port);	}		// internal use	private long getSocketId(InetAddress addr, int port)	{	    byte[] _rawIP = addr.getAddress();	    long[] rawIP = new long[4];	    for (int i = 0; i < 4; i++)	    {	        if (_rawIP[i] < 0)	            rawIP[i] = _rawIP[i] + 256;	        else	            rawIP[i] = _rawIP[i];	    }	    	    long socketId = rawIP[3] << 24;	    socketId += rawIP[2] << 16;	    socketId += rawIP[1] << 8;	    socketId += rawIP[0];	    	    socketId = (socketId << 32) + port;	    	    return socketId;	}        private native void init(long objRef) throws IntelMobileException;    private static native void ThrowNotConnectNative() throws IntelMobileException;   	private native boolean SetSessionLimitTxNative( long socketid, float MaxKBitsPerSec ) throws IntelMobileException;	private native boolean SetSessionLimitRxNative( long socketid, float MaxKBitsPerSec ) throws IntelMobileException;	private native boolean SetSessionPercentTxNative( long socketid, float MaxPercentage ) throws IntelMobileException;	private native boolean SetSessionPercentRxNative( long socketid, float MaxPercentage ) throws IntelMobileException;	private native float GetSessionLimitTxNative( long socketid ) throws IntelMobileException;	private native float GetSessionLimitRxNative( long socketid ) throws IntelMobileException;	private native float GetSessionRateTxNative( long socketid ) throws IntelMobileException;	private native float GetSessionRateRxNative( long socketid ) throws IntelMobileException;	private native long GetSessionTotalBytesTxNative( long socketid ) throws IntelMobileException;	private native long GetSessionTotalBytesRxNative( long socketid ) throws IntelMobileException;	private native float GetSessionPercentTxNative( long socketid ) throws IntelMobileException;	private native float GetSessionPercentRxNative( long socketid ) throws IntelMobileException;	private native float GetEffectiveSessionLimitTxNative( long socketid ) throws IntelMobileException;	private native float GetEffectiveSessionLimitRxNative( long socketid ) throws IntelMobileException;	private native boolean GetSessionAdaptivelyLimitableNative( long socketid ) throws IntelMobileException;	private native boolean GetSessionAdaptiveNative( long socketid ) throws IntelMobileException;	private native boolean SetSessionAdaptiveNative( long socketid, boolean isAdaptive ) throws IntelMobileException;	private native boolean GetSessionLimitedTxNative( long socketid ) throws IntelMobileException;	private native boolean GetSessionLimitedRxNative( long socketid ) throws IntelMobileException;	private native boolean SetSessionLimitedTxNative( long socketid, boolean isLimited ) throws IntelMobileException;	private native boolean SetSessionLimitedRxNative( long socketid, boolean isLimited ) throws IntelMobileException;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?