aboutsummaryrefslogtreecommitdiff
path: root/src/jar/net/network/net_packet.md
blob: 27adfbb20f83c8a5c9c009228404155bf5374bd3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# netPacket

## Imports
- `NET.worlds.console.StatNetMUNode`
- `java.io.IOException`

## Class Type
`abstract`

## Fields
### `protected ObjID _objID`

### `protected int _commandType`

## Constructors
```java
public netPacket(ObjID id, int cmd) {
	if (id != null) {
		this._objID = id;
	} else {
		this._objID = new ObjID(1);
	}
	this._commandType = cmd;
}

public netPacket() {
	this._objID = new ObjID(1);
}
```

## Methods
### `public int msgID()`
Returns [`this._commandType`](#protected-int-_commandtype).

### `int packetSize()`
Returns `2 + `[`this._objID`](#protected-objid-_objid)[`.packetSize()`]()

### `public String toString(WorldServer serv`)
Returns `new Integer(`[`this._commandType`](#protected-int-_commandtype)`).toString()`

### `void send(`[`ServerOutputStream`](./server_output_stream.md)` o) throws IOException`
```java
int packetsize = packetSize();
if (packetsize >= 256 && o.getVersion() <= 24)
	throw new PacketTooLargeException();
StatNetMUNode netStat = StatNetMUNode.getNode();
netStat.addBytesSent(packetsize);
netStat.addPacketsSent(1);
assert this._commandType > 0;
if (packetsize >= 128 && o.getVersion() > 24) {
	o.writeByte(128 + packetsize / 256);
	o.writeByte(packetsize & 0xFF);
} else {
	o.writeByte(packetsize);
}
this._objID.send(o);
o.writeByte(this._commandType);
}
```