Make ForwardPrivateMessageEventEncoder thread-safe; Rename method.

This commit is contained in:
Major-
2014-02-13 14:42:31 +00:00
parent 5ba056bb9f
commit 1ed7801598
3 changed files with 13 additions and 9 deletions
@@ -60,7 +60,7 @@ public final class ForwardPrivateMessageEvent extends Event {
*
* @return The message.
*/
public byte[] getMessage() {
public byte[] getCompressedMessage() {
return message;
}
@@ -1,5 +1,7 @@
package org.apollo.net.release.r317;
import java.util.concurrent.atomic.AtomicInteger;
import org.apollo.game.event.impl.ForwardPrivateMessageEvent;
import org.apollo.net.codec.game.DataType;
import org.apollo.net.codec.game.GamePacket;
@@ -16,18 +18,18 @@ import org.apollo.util.NameUtil;
public final class ForwardPrivateMessageEventEncoder extends EventEncoder<ForwardPrivateMessageEvent> {
/**
* The amount of messages sent globally, offset by a random variable x, {@code 0 <= x < 100000000}.
* The amount of messages sent globally, offset by a random variable x, {@code 0 <= x < 100,000,000}.
*/
private static int messageCount = (int) (Math.random() * 100000000);
private static AtomicInteger messageCounter = new AtomicInteger((int) (Math.random() * 100_000_000));
@Override
public GamePacket encode(ForwardPrivateMessageEvent event) {
GamePacketBuilder builder = new GamePacketBuilder(196, PacketType.VARIABLE_BYTE);
builder.put(DataType.LONG, NameUtil.encodeBase37(event.getSenderUsername()));
builder.put(DataType.INT, messageCount++);
builder.put(DataType.INT, messageCounter.incrementAndGet());
builder.put(DataType.BYTE, event.getSenderPrivilege().toInteger());
builder.putBytes(event.getMessage());
builder.putBytes(event.getCompressedMessage());
return builder.toGamePacket();
}
@@ -1,5 +1,7 @@
package org.apollo.net.release.r377;
import java.util.concurrent.atomic.AtomicInteger;
import org.apollo.game.event.impl.ForwardPrivateMessageEvent;
import org.apollo.net.codec.game.DataType;
import org.apollo.net.codec.game.GamePacket;
@@ -16,18 +18,18 @@ import org.apollo.util.NameUtil;
public final class ForwardPrivateMessageEventEncoder extends EventEncoder<ForwardPrivateMessageEvent> {
/**
* The amount of messages sent globally, offset by a random variable x, {@code 0 <= x < 100000000}.
* The amount of messages sent globally, offset by a random variable x, {@code 0 <= x < 100,000,000}.
*/
private static int messageCount = (int) (Math.random() * 100000000);
private static AtomicInteger messageCounter = new AtomicInteger((int) (Math.random() * 100_000_000));
@Override
public GamePacket encode(ForwardPrivateMessageEvent event) {
GamePacketBuilder builder = new GamePacketBuilder(135, PacketType.VARIABLE_BYTE);
builder.put(DataType.LONG, NameUtil.encodeBase37(event.getSenderUsername()));
builder.put(DataType.INT, messageCount++);
builder.put(DataType.INT, messageCounter.incrementAndGet());
builder.put(DataType.BYTE, event.getSenderPrivilege().toInteger());
builder.putBytes(event.getMessage());
builder.putBytes(event.getCompressedMessage());
return builder.toGamePacket();
}