connectionimpl.java

来自「java 文件下载器。可自定义」· Java 代码 · 共 125 行

JAVA
125
字号
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space 
// Source File Name:   ConnectionImpl.java

package org.gudy.azureus2.pluginsimpl.local.network;

import com.aelitis.azureus.core.networkmanager.NetworkConnection;
import com.aelitis.azureus.core.networkmanager.Transport;
import java.nio.ByteBuffer;
import org.gudy.azureus2.plugins.network.Connection;
import org.gudy.azureus2.plugins.network.ConnectionListener;
import org.gudy.azureus2.plugins.network.IncomingMessageQueue;
import org.gudy.azureus2.plugins.network.OutgoingMessageQueue;

// Referenced classes of package org.gudy.azureus2.pluginsimpl.local.network:
//			IncomingMessageQueueImpl, OutgoingMessageQueueImpl, TransportImpl

public class ConnectionImpl
	implements Connection
{

	private final NetworkConnection core_connection;
	private final OutgoingMessageQueueImpl out_queue;
	private final IncomingMessageQueueImpl in_queue;
	private final TransportImpl transport;
	private final boolean incoming;

	public ConnectionImpl(NetworkConnection core_connection, boolean incoming)
	{
		this.core_connection = core_connection;
		out_queue = new OutgoingMessageQueueImpl(core_connection.getOutgoingMessageQueue());
		in_queue = new IncomingMessageQueueImpl(core_connection.getIncomingMessageQueue());
		transport = new TransportImpl(core_connection);
		this.incoming = incoming;
	}

	public void connect(final ConnectionListener listener)
	{
		core_connection.connect(3, new com.aelitis.azureus.core.networkmanager.NetworkConnection.ConnectionListener() {

			final ConnectionListener val$listener;
			final ConnectionImpl this$0;

			public void connectStarted()
			{
				listener.connectStarted();
			}

			public void connectSuccess(ByteBuffer remaining_initial_data)
			{
				listener.connectSuccess();
			}

			public void connectFailure(Throwable failure_msg)
			{
				listener.connectFailure(failure_msg);
			}

			public void exceptionThrown(Throwable error)
			{
				listener.exceptionThrown(error);
			}

			public String getDescription()
			{
				return (new StringBuilder()).append("plugin connection: ").append(core_connection.getString()).toString();
			}

			
			{
				this$0 = ConnectionImpl.this;
				listener = connectionlistener;
				super();
			}
		});
	}

	public void close()
	{
		core_connection.close();
	}

	public OutgoingMessageQueue getOutgoingMessageQueue()
	{
		return out_queue;
	}

	public IncomingMessageQueue getIncomingMessageQueue()
	{
		return in_queue;
	}

	public void startMessageProcessing()
	{
		core_connection.startMessageProcessing();
		core_connection.enableEnhancedMessageProcessing(true);
	}

	public org.gudy.azureus2.plugins.network.Transport getTransport()
	{
		return transport;
	}

	public NetworkConnection getCoreConnection()
	{
		return core_connection;
	}

	public boolean isIncoming()
	{
		return incoming;
	}

	public String getString()
	{
		Transport t = core_connection.getTransport();
		if (t == null)
			return "";
		else
			return t.getEncryption(false);
	}

}

⌨️ 快捷键说明

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