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

📄 messageadapter.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:   MessageAdapter.java

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

import com.aelitis.azureus.core.peermanager.messaging.Message;
import com.aelitis.azureus.core.peermanager.messaging.MessageException;
import java.nio.ByteBuffer;
import org.gudy.azureus2.core3.util.DirectByteBuffer;

public class MessageAdapter
	implements org.gudy.azureus2.plugins.messaging.Message, Message
{

	private org.gudy.azureus2.plugins.messaging.Message plug_msg;
	private Message core_msg;

	public MessageAdapter(org.gudy.azureus2.plugins.messaging.Message plug_msg)
	{
		this.plug_msg = null;
		core_msg = null;
		this.plug_msg = plug_msg;
	}

	public MessageAdapter(Message core_msg)
	{
		plug_msg = null;
		this.core_msg = null;
		this.core_msg = core_msg;
	}

	public org.gudy.azureus2.plugins.messaging.Message getPluginMessage()
	{
		return plug_msg;
	}

	public Message getCoreMessage()
	{
		return core_msg;
	}

	public ByteBuffer[] getPayload()
	{
		if (core_msg == null)
			return plug_msg.getPayload();
		DirectByteBuffer dbbs[] = core_msg.getData();
		ByteBuffer bbs[] = new ByteBuffer[dbbs.length];
		for (int i = 0; i < dbbs.length; i++)
			bbs[i] = dbbs[i].getBuffer((byte)11);

		return bbs;
	}

	public org.gudy.azureus2.plugins.messaging.Message create(ByteBuffer data)
		throws org.gudy.azureus2.plugins.messaging.MessageException
	{
		if (core_msg == null)
			return plug_msg.create(data);
		return new MessageAdapter(core_msg.deserialize(new DirectByteBuffer(data), (byte)1));
		MessageException e;
		e;
		throw new org.gudy.azureus2.plugins.messaging.MessageException(e.getMessage());
	}

	public String getID()
	{
		return core_msg != null ? core_msg.getID() : plug_msg.getID();
	}

	public byte[] getIDBytes()
	{
		return core_msg != null ? core_msg.getIDBytes() : plug_msg.getID().getBytes();
	}

	public int getType()
	{
		return core_msg != null ? core_msg.getType() : plug_msg.getType();
	}

	public byte getVersion()
	{
		return core_msg != null ? core_msg.getVersion() : 1;
	}

	public String getDescription()
	{
		return core_msg != null ? core_msg.getDescription() : plug_msg.getDescription();
	}

	public void destroy()
	{
		if (core_msg == null)
			plug_msg.destroy();
		else
			core_msg.destroy();
	}

	public String getFeatureID()
	{
		return "AZPLUGMSG";
	}

	public int getFeatureSubID()
	{
		return -1;
	}

	public DirectByteBuffer[] getData()
	{
		if (plug_msg == null)
			return core_msg.getData();
		ByteBuffer bbs[] = plug_msg.getPayload();
		DirectByteBuffer dbbs[] = new DirectByteBuffer[bbs.length];
		for (int i = 0; i < bbs.length; i++)
			dbbs[i] = new DirectByteBuffer(bbs[i]);

		return dbbs;
	}

	public Message deserialize(DirectByteBuffer data, byte version)
		throws MessageException
	{
		Exception exception;
		if (plug_msg == null)
			return core_msg.deserialize(data, version);
		MessageAdapter messageadapter;
		try
		{
			org.gudy.azureus2.plugins.messaging.Message message = plug_msg.create(data.getBuffer((byte)11));
			if (message == null)
				throw new MessageException("Plugin message deserialisation failed");
			messageadapter = new MessageAdapter(message);
		}
		catch (org.gudy.azureus2.plugins.messaging.MessageException e)
		{
			throw new MessageException(e.getMessage());
		}
		finally
		{
			data.returnToPool();
		}
		data.returnToPool();
		return messageadapter;
		throw exception;
	}
}

⌨️ 快捷键说明

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