diff --git a/Javadoc/allclasses-frame.html b/Javadoc/allclasses-frame.html index 85e60cd6..a62dde8a 100644 --- a/Javadoc/allclasses-frame.html +++ b/Javadoc/allclasses-frame.html @@ -2,9 +2,9 @@
- +public class Application
extends java.lang.Object
+void
signalPacketTransmission(PacketEvent packet)
+void
unregisterAsyncHandler(AsyncListenerHandler handler)
void
unregisterAsyncHandlers(org.bukkit.plugin.Plugin plugin)
void cleanupAll()
void signalPacketTransmission(PacketEvent packet)+
+ This should only be called if AsyncMarker.incrementProcessingDelay()
+ has been called previously.
packet
- - packet to signal.static java.util.Set<java.lang.Integer>
getSupported()
+static boolean
isSupported(int packetID)
+getDeclaredName, hasMember, registerAll, registerMember, valueOf
getDeclaredName, hasMember, registerAll, registerMember, valueOf, values
public static Packets.Client getRegistry()@@ -610,6 +622,35 @@ extends Returns:
public static boolean isSupported(int packetID) + throws FieldAccessException+
packetID
- - the packet to test.FieldAccessException
- If we're unable to retrieve the client packet data from Minecraft.public static java.util.Set<java.lang.Integer> getSupported() + throws FieldAccessException+
FieldAccessException
- If we're unable to retrieve the client packet data from Minecraft.static java.util.Set<java.lang.Integer>
getSupported()
+static boolean
isSupported(int packetID)
+getDeclaredName, hasMember, registerAll, registerMember, valueOf
getDeclaredName, hasMember, registerAll, registerMember, valueOf, values
public static Packets.Server getRegistry()@@ -1100,6 +1112,35 @@ extends Returns:
public static boolean isSupported(int packetID) + throws FieldAccessException+
packetID
- - the packet to test.FieldAccessException
- If we're unable to retrieve the server packet data from Minecraft.public static java.util.Set<java.lang.Integer> getSupported() + throws FieldAccessException+
FieldAccessException
- If we're unable to retrieve the server packet data from Minecraft.public class ProtocolLibrary
extends org.bukkit.plugin.java.JavaPlugin
+void
signalPacketUpdate(PacketEvent packet)
-signalFreeProcessingSlot(PacketEvent packet)
+void
signalProcessingDone(PacketEvent packet)
-signalPacketTransmission(PacketEvent packet)
+public void signalPacketUpdate(PacketEvent packet)-
packet
- - packet to signal.public void signalPacketTransmission(PacketEvent packet)+
AsynchronousManager
+ This should only be called if AsyncMarker.incrementProcessingDelay()
+ has been called previously.
signalPacketTransmission
in interface AsynchronousManager
packet
- - packet to signal.public void signalProcessingDone(PacketEvent packet)+
public void signalFreeProcessingSlot(PacketEvent packet)
packet
- - packet to signal.getAsyncListener()
java.lang.String
getFriendlyWorkerName(int id)
+AsyncRunnable
getListenerLoop()
org.bukkit.plugin.Plugin
getPlugin()
int
getWorkers()
boolean
isCancelled()
void
setWorkers(int count)
void
start()
-void
start(com.google.common.base.Function<AsyncRunnable,java.lang.Void> executor)
+public void start()-
public void start(com.google.common.base.Function<AsyncRunnable,java.lang.Void> executor)+
+ This method is intended to allow callers to customize the thread priority + before the worker loop is actually called. This is simpler than to + schedule the worker threads manually. +
+ listenerHandler.start(new Function<AsyncRunnable, Void>() {
+ @Override
+ public Void apply(@Nullable AsyncRunnable workerLoop) {
+ Thread thread = Thread.currentThread();
+ int prevPriority = thread.getPriority();
+
+ thread.setPriority(Thread.MIN_PRIORITY);
+ workerLoop.run();
+ thread.setPriority(prevPriority);
+ return null;
+ }
+ });
+ }
+
executor
- - a method that will execute the given listener loop.public java.lang.String getFriendlyWorkerName(int id)+
+ Protocol Worker {id} - {plugin} - [recv: {packets}, send: {packets}]
+
id
- - the worker ID.int
getProcessingDelay()
+java.lang.Object
getProcessingLock()
+long
getQueuedSendingIndex()
+long
getTimeout()
int
getWorkerID()
boolean
hasExpired()
boolean
hasExpired(long currentTime)
int
incrementProcessingDelay()
+boolean
isAsyncCancelled()
@@ -232,14 +256,14 @@ implements java.io.Serializable, java.lang.Comparable<
boolean
isTransmitted()
-isQueued()
+void
sendPacket(PacketEvent event)
-boolean
isTransmitted()
+void
setProcessingLock(java.lang.Object processingLock)
void
setTimeout(long timeout)
public int incrementProcessingDelay()+
+ This is useful if an asynchronous listener is waiting for further information before the
+ packet can be sent to the user. A packet listener MUST eventually call
+ AsyncFilterManager.signalPacketTransmission(PacketEvent)
,
+ even if the packet is cancelled, after this method is called.
+
+ It is recommended that processing outside a packet listener is wrapped in a synchronized block
+ using the getProcessingLock()
method.
+
+ To decrement the processing delay, call signalPacketUpdate. A thread that calls this method + multiple times must call signalPacketUpdate at least that many times.
public int getProcessingDelay()+
public boolean isQueued()+
public long getQueuedSendingIndex()+
public java.lang.Object getProcessingLock()+
+ This lock is automatically acquired for every asynchronous packet listener. It should only be + used to synchronize access to a PacketEvent if it's processing has been delayed.
public void setProcessingLock(java.lang.Object processingLock)+
public void setAsyncCancelled(boolean asyncCancelled)-
+ This is only relevant during the synchronous processing. Asynchronous + listeners should use the normal cancel-field to cancel a PacketEvent.
asyncCancelled
- - TRUE to cancel it, FALSE otherwise.public void sendPacket(PacketEvent event) - throws java.io.IOException-
event
- - the packet to send.java.io.IOException
- If the packet couldn't be sent.Modifier and Type | +Method and Description | +
---|---|
void |
+AsyncListenerHandler.start(com.google.common.base.Function<AsyncRunnable,java.lang.Void> executor)
+Start a singler worker thread handling the asynchronous listener.
+ |
+
void
signalPacketTransmission(PacketEvent packet)
+void
sendPacket(PacketEvent event)
-signalFreeProcessingSlot(PacketEvent packet)
+void
signalPacketUpdate(PacketEvent packet)
-void
signalProcessingDone(PacketEvent packet)
-signalPacketTransmission(PacketEvent packet)
public class BukkitUnwrapper +extends java.lang.Object +implements PacketConstructor.Unwrapper+
+ Typical conversions include: +
Constructor and Description | +
---|
BukkitUnwrapper() |
+
Modifier and Type | +Method and Description | +
---|---|
java.lang.Object |
+unwrapItem(java.lang.Object wrappedObject)
+Convert the given wrapped object to the equivalent net.minecraft.server object.
+ |
+
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public java.lang.Object unwrapItem(java.lang.Object wrappedObject)+
PacketConstructor.Unwrapper
unwrapItem
in interface PacketConstructor.Unwrapper
wrappedObject
- - wrapped object.public interface ListenerInvoker
+java.lang.Object
unwrapItem(java.lang.Object wrappedObject)
unwrapItem(java.lang.Object wrappedObject)
+java.lang.Object unwrapItem(java.lang.Object wrappedObject)+
wrappedObject
- - wrapped object.public static final PacketFilterManager.PlayerInjectHooks NETWORK_HANDLER_FIELDS+
+ Cannot intercept MapChunk packets.
void
close()
close()
+PacketContainer
static java.util.Set<java.lang.Integer>
getClientPackets()
+java.util.logging.Logger
getLogger()
int
getPacketID(net.minecraft.server.Packet packet)
com.google.common.collect.ImmutableSet<PacketListener>
getPacketListeners()
PacketFilterManager.PlayerInjectHooks
getPlayerHook()
java.util.Set<java.lang.Integer>
getReceivingFilters()
java.util.Set<java.lang.Integer>
getSendingFilters()
static java.util.Set<java.lang.Integer>
getServerPackets()
+void
initializePlayers(org.bukkit.entity.Player[] players)
@@ -762,6 +776,34 @@ implements Returns:public static java.util.Set<java.lang.Integer> getServerPackets() + throws FieldAccessException+
FieldAccessException
- If we're unable to retrieve the server packet data from Minecraft.public static java.util.Set<java.lang.Integer> getClientPackets() + throws FieldAccessException+
FieldAccessException
- If we're unable to retrieve the client packet data from Minecraft.public void close()+
static class
PacketConstructor.BukkitUnwrapper
class
BukkitUnwrapper
+java.util.Set<java.lang.Integer>
values()
+public java.lang.String getDeclaredName(java.lang.Integer id)@@ -307,6 +313,17 @@ extends java.lang.Object
public java.util.Set<java.lang.Integer> values()+
static java.util.Set<java.lang.Integer>
getSupported()
+static java.util.Set<java.lang.Integer>
getSupported()
+static boolean
isSupported(int packetID)
+static boolean
isSupported(int packetID)
+void
updateEntity(org.bukkit.entity.Entity entity,
java.util.List<org.bukkit.entity.Player> observers)
@@ -159,6 +183,18 @@
static java.util.Set<java.lang.Integer>
getClientPackets()
+static java.util.Set<java.lang.Integer>
getServerPackets()
+void
updateEntity(org.bukkit.entity.Entity entity,
java.util.List<org.bukkit.entity.Player> observers)
type
if it is a
wrapper type; otherwise returns type
itself.