⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 outgoingmessagequeueimpl.java

📁 java 文件下载器。可自定义
💻 JAVA
字号:
// 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:   OutgoingMessageQueueImpl.java

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

import com.aelitis.azureus.core.networkmanager.OutgoingMessageQueue;
import java.util.HashMap;
import org.gudy.azureus2.plugins.messaging.Message;
import org.gudy.azureus2.plugins.messaging.MessageStreamEncoder;
import org.gudy.azureus2.plugins.network.OutgoingMessageQueueListener;
import org.gudy.azureus2.pluginsimpl.local.messaging.MessageAdapter;
import org.gudy.azureus2.pluginsimpl.local.messaging.MessageStreamEncoderAdapter;

public class OutgoingMessageQueueImpl
	implements org.gudy.azureus2.plugins.network.OutgoingMessageQueue
{

	private final OutgoingMessageQueue core_queue;
	private final HashMap registrations = new HashMap();

	protected OutgoingMessageQueueImpl(OutgoingMessageQueue core_queue)
	{
		this.core_queue = core_queue;
	}

	public void setEncoder(MessageStreamEncoder encoder)
	{
		core_queue.setEncoder(new MessageStreamEncoderAdapter(encoder));
	}

	public void sendMessage(Message message)
	{
		if (message instanceof MessageAdapter)
		{
			core_queue.addMessage(((MessageAdapter)message).getCoreMessage(), false);
			return;
		} else
		{
			core_queue.addMessage(new MessageAdapter(message), false);
			return;
		}
	}

	public void registerListener(final OutgoingMessageQueueListener listener)
	{
		com.aelitis.azureus.core.networkmanager.OutgoingMessageQueue.MessageQueueListener core_listener = new com.aelitis.azureus.core.networkmanager.OutgoingMessageQueue.MessageQueueListener() {

			final OutgoingMessageQueueListener val$listener;
			final OutgoingMessageQueueImpl this$0;

			public boolean messageAdded(com.aelitis.azureus.core.peermanager.messaging.Message message)
			{
				if (message instanceof MessageAdapter)
					return listener.messageAdded(((MessageAdapter)message).getPluginMessage());
				else
					return listener.messageAdded(new MessageAdapter(message));
			}

			public void messageQueued(com.aelitis.azureus.core.peermanager.messaging.Message message1)
			{
			}

			public void messageRemoved(com.aelitis.azureus.core.peermanager.messaging.Message message1)
			{
			}

			public void messageSent(com.aelitis.azureus.core.peermanager.messaging.Message message)
			{
				if (message instanceof MessageAdapter)
				{
					listener.messageSent(((MessageAdapter)message).getPluginMessage());
					return;
				} else
				{
					listener.messageSent(new MessageAdapter(message));
					return;
				}
			}

			public void protocolBytesSent(int byte_count)
			{
				listener.bytesSent(byte_count);
			}

			public void dataBytesSent(int byte_count)
			{
				listener.bytesSent(byte_count);
			}

			public void flush()
			{
			}

			
			{
				this$0 = OutgoingMessageQueueImpl.this;
				listener = outgoingmessagequeuelistener;
				super();
			}
		};
		registrations.put(listener, core_listener);
		core_queue.registerQueueListener(core_listener);
	}

	public void deregisterListener(OutgoingMessageQueueListener listener)
	{
		com.aelitis.azureus.core.networkmanager.OutgoingMessageQueue.MessageQueueListener core_listener = (com.aelitis.azureus.core.networkmanager.OutgoingMessageQueue.MessageQueueListener)registrations.remove(listener);
		if (core_listener != null)
			core_queue.cancelQueueListener(core_listener);
	}

	public void notifyOfExternalSend(Message message)
	{
		if (message instanceof MessageAdapter)
		{
			core_queue.notifyOfExternallySentMessage(((MessageAdapter)message).getCoreMessage());
			return;
		} else
		{
			core_queue.notifyOfExternallySentMessage(new MessageAdapter(message));
			return;
		}
	}

	public int getPercentDoneOfCurrentMessage()
	{
		return core_queue.getPercentDoneOfCurrentMessage();
	}
}

⌨️ 快捷键说明

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