Communication
Chat, pings, emotes, and the sound and music a server can drive.
Chat
Players chat with Chat, which carries a line to everyone or to a side. A
server puts a line of its own in a client’s chat with SystemMessage. A server
can limit how many more lines a player can send with ChatAllowance.
Pings and emotes
A client marks a point on the map with MapPing, and a server shows the ping to
everyone meant to see it with PingPlaced. A client asks to play an emote with
PlayEmote, and a server shows it with EmotePlayed. A server can also tell
clients of a voice command a champion gave (VoiceCommand) and of an emote a
champion played for the moment (ContextEmote).
In 1.0.0.140
A client plays the voice line
VoiceCommandnames, unless its player has muted the champion’s player.
Sound and music
A server can play a sound once (SoundPlayed) or a voice event (VoiceEvent),
which a client can report done with VoiceEventDone. A server can also set a
champion’s skin music (ThemeMusic), drive the music (MusicCue), mute or
unmute a kind of sound (VolumeMuted) and fade sound effects out
(FadeSounds).
In 1.0.0.130–1.0.0.140
Where a
VoiceEventasks for an answer, a client sendsVoiceEventDoneonce it has played the event.
In 1.0.0.130–1.0.0.140
A client answers a
VoiceEventit cannot play at once.
Messages
Each message of this system in this book, with each layout it has across the book’s patches and every note its definition carries. A layout is the message’s body, after the header its channel’s family puts in front (see Messages).
Chat
Text one player sends the others during a match. Messages players exchange outside a match do not travel on this connection at all.
In 1.0.0.130–1.0.0.139
Command 0 on chat, sent by either side, reliable.
A line of chat. A client sends one as its player says something, and shows one a server sends in its chat box.
| Field | Type | What it is |
|---|---|---|
| speaker | u32 | The client id the line is from. A client sends its own. From a server, a client shows the line with the name of the player holding that client id, coloured for whether that player is on its own side, and with no name for a client id nobody holds; 4294967295 shows the whole line with no name and no tag. A client does not show a line from a player its own player has ignored or muted. |
| audience | u32 | 1 for the speaker’s side alone, which a client shows without a tag; any other value from a server is shown tagged as said to everyone. A client sends 0 where its player began the line with the all-chat prefix, which it leaves out of the text, and 1 otherwise. Values: 0 everyone, 1 team. |
| textLength | u32 | The length of the text in bytes, without the byte that ends it. Its value changes nothing a client does. |
| text | text, sized by textLength | The line; a client sends at most 511 bytes of it, and reads it up to the zero byte that ends it. |
| terminator | bytes, 1 | A zero byte closing the text. |
In 1.0.0.140–1.0.0.150
Command 0 on chat, sent by either side, reliable.
A line of chat. A client sends one as its player says something, and shows one a server sends in its chat box.
| Field | Type | What it is |
|---|---|---|
| speaker | u32 | The client id the line is from. A client sends its own. From a server, a client shows the line with the name and champion of the player holding that client id, coloured for their side, and with no name for a client id nobody holds; 4294967295 shows the line as said to everyone with no name, less its first three bytes. |
| audience | u32 | 1 for the speaker’s side alone, which a client shows without a tag; any other value from a server is shown tagged as said to everyone, except that where VersionSync hides all chat and the player has not turned it back on, a client does not show the line unless speaker is 4294967295. A client sends 0 where its player began the line with the all-chat prefix, which it leaves out of the text, and 1 otherwise. Values: 0 everyone, 1 team. |
| textLength | u32 | The length of the text in bytes, without the byte that ends it. Its value changes nothing a client does. |
| text | text, sized by textLength | The line; a client sends at most 511 bytes of it, and reads it up to the zero byte that ends it. |
| terminator | bytes, 1 | A zero byte closing the text. |
Vectors (1)
In 1.0.0.151
Command 0 on chat, sent by either side, reliable.
A line of chat. A client sends one as its player says something, and shows one a server sends in its chat box.
| Field | Type | What it is |
|---|---|---|
| speaker | u32 | The client id the line is from. A client sends its own. From a server, a client shows the line with the name and champion of the player holding that client id, coloured for their side, and with no name for a client id nobody holds; 4294967295 shows the line as said to everyone with no name, less its first three bytes. |
| audience | u32 | 1 for the speaker’s side alone, which a client shows without a tag; any other value from a server is shown tagged as said to everyone. A client sends 0 where its player began the line with the all-chat prefix, which it leaves out of the text, and 1 otherwise. Values: 0 everyone, 1 team. |
| textLength | u32 | The length of the text in bytes, without the byte that ends it. Its value changes nothing a client does. |
| text | text, sized by textLength | The line; a client sends at most 127 bytes of it, and reads it up to the zero byte that ends it. |
| terminator | bytes, 1 | A zero byte closing the text. |
Vectors (1)
In 1.0.0.152–3.1.0.0
Command 104 on chat, sent by either side, reliable.
| Field | Type | What it is |
|---|---|---|
| clientId | u32 | The client id of the sender. |
| netId | u32 | The entity a receiving end attributes the text to where the seat does not name one. Where the seat names a speaker, that is what a receiving end uses instead. |
| localized | u8 | Whether the text is a phrase to show as it stands, or a key naming one the receiving end looks up and fills in from the parameters. Both ends send it clear. |
| audience | i32 | Who the message reaches. Values: 0 everyone, 1 team. |
| textLength | u32 | The length of the text, counted in bytes and excluding the byte that ends it. A client shows the text to its first zero byte. |
| text | text, sized by textLength | The line, at most 127 characters. |
| terminator | bytes, 1 | A zero byte closing the text. |
SystemMessage
What a server sends to put a line of its own in a client’s chat. The header names no object: it carries zero.
In 1.0.0.154–3.1.0.0
Command 244 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| source | u32 | The unit the line is credited to, or zero where none is. |
| text | text, 512 bytes | The line itself. Written out in full and padded with zero bytes to the width above. |
Vectors (1)
MapPing
What a client sends to mark a point on the map for the others. The header names no object: it carries zero.
In 1.0.0.130–1.0.0.137
Carried on requests, sent by the client, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 90 |
| 1.0.0.132–1.0.0.137 | 91 |
| Field | Type | What it is |
|---|---|---|
| x | f32 | Where on the map, along one ground axis, in world units. |
| y | f32 | The height of the place pinged. |
| z | f32 | Where on the map, along the other ground axis, in world units. |
| target | u32 | A network object the mark is on, or zero where it is on open ground. |
| kind | u8 | Which mark it is. A client sends any of the seven below, and 1 where the mark shows a direction of attack. Values: 0 here, 1 attackDirection, 2 danger, 3 targetUnaccountedFor, 4 onMyWay, 5 fallBack, 6 comeHere. |
Vectors (2)
In 1.0.0.138–1.0.0.143
Command 93 on requests, sent by the client, reliable.
While watching a match, a client places the mark only on its own screen and sends nothing.
| Field | Type | What it is |
|---|---|---|
| x | f32 | Where on the map, along one ground axis, in world units. |
| y | f32 | The height of the place pinged. |
| z | f32 | Where on the map, along the other ground axis, in world units. |
| target | u32 | A network object the mark is on, or zero where it is on open ground. |
| kind | u8 | Which mark it is. A client sends any of the seven below, and 1 where the mark shows a direction of attack. It writes only the low 4 bits: the high 4 carry no meaning, and a server ignores them. Values: 0 here, 1 attackDirection, 2 danger, 3 targetUnaccountedFor, 4 onMyWay, 5 fallBack, 6 comeHere. |
Vectors (1)
In 1.0.0.144–1.0.0.147
Command 87 on requests, sent by the client, reliable.
| Field | Type | What it is |
|---|---|---|
| x | f32 | Where on the map, along one ground axis, in world units. |
| y | f32 | The height of the place pinged. |
| z | f32 | Where on the map, along the other ground axis, in world units. |
| target | u32 | A network object the mark is on, or zero where it is on open ground. |
| kind | u8 | Which mark it is. A client sends any of the seven below, and 1 where the mark shows a direction of attack. Values: 0 here, 1 attackDirection, 2 danger, 3 targetUnaccountedFor, 4 onMyWay, 5 fallBack, 6 comeHere. |
Vectors (1)
In 1.0.0.148–3.1.0.0
Carried on requests, sent by the client, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.148–1.0.0.149 | 87 |
| 1.0.0.150–3.1.0.0 | 84 |
| Field | Type | What it is |
|---|---|---|
| x | f32 | Where on the map, along one ground axis, in world units. |
| z | f32 | Where on the map, along the other ground axis, in world units. |
| target | u32 | A network object the mark is on, or zero where it is on open ground. |
| kind | u8 | Which mark it is. A client sends any of the seven below, and 1 where the mark shows a direction of attack. Values: 0 here, 1 attackDirection, 2 danger, 3 targetUnaccountedFor, 4 onMyWay, 5 fallBack, 6 comeHere. |
Vectors (2)
PingPlaced
What a server sends to show a ping on the map to everyone meant to see it.
In 1.0.0.130–1.0.0.137
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 70 |
| 1.0.0.132–1.0.0.137 | 71 |
A client drops the whole message where category is past its own list of categories. The header names the champion that placed the ping, as source does.
| Field | Type | What it is |
|---|---|---|
| atX | f32 | Where the ping sits, along one ground axis, in world units. |
| atY | f32 | The height of the place, as a client shows it. |
| atZ | f32 | Where it sits, along the other, in world units. |
| target | u32 | The unit pinged, or zero where a place was pinged instead. |
| source | u32 | The unit that placed it. |
| how | 1-byte bits | |
| how.category | bit 0 to 3 | Which sort of ping. |
| how.playSound | bit 4 | Set where the client plays a sound for it. |
| how.showInChat | bit 5 | Set where the client writes a line about it. |
| how.throttled | bit 6 | Set where the player is pinging too often: a client places no ping, plays nothing and announces nothing, and only writes a notice in its own chat. |
| how.unused | bit 7 | Unused; a server writes zero. |
Vectors (2)
In 1.0.0.138–1.0.0.147
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.138–1.0.0.143 | 71 |
| 1.0.0.144–1.0.0.147 | 66 |
A client drops the whole message where category is past its own list of categories. The header names the champion that placed the ping, as source does.
| Field | Type | What it is |
|---|---|---|
| atX | f32 | Where the ping sits, along one ground axis, in world units. |
| atY | f32 | The height of the place, as a client shows it. |
| atZ | f32 | Where it sits, along the other, in world units. |
| target | u32 | The unit pinged, or zero where a place was pinged instead. |
| source | u32 | The unit that placed it. |
| how | 1-byte bits | |
| how.category | bit 0 to 3 | Which sort of ping. |
| how.playSound | bit 4 | Set where the client plays a sound for it. |
| how.showInChat | bit 5 | Set where the client writes a line about it. |
| how.throttled | bit 6 | Set where the player is pinging too often: a client places no ping, plays nothing and announces nothing, and only writes a notice in its own chat. |
| how.speak | bit 7 | Set where the unit says something about it. |
Vectors (2)
In 1.0.0.148–3.1.0.0
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.148–1.0.0.149 | 66 |
| 1.0.0.150–3.1.0.0 | 63 |
A client drops the whole message where category is past its own list of categories. The header names the champion that placed the ping, as source does.
| Field | Type | What it is |
|---|---|---|
| atX | f32 | Where the ping sits, along one ground axis, in world units. |
| atZ | f32 | Where it sits, along the other, in world units. |
| target | u32 | The unit pinged, or zero where a place was pinged instead. |
| source | u32 | The unit that placed it. |
| how | 1-byte bits | |
| how.category | bit 0 to 3 | Which sort of ping. |
| how.playSound | bit 4 | Set where the client plays a sound for it. |
| how.showInChat | bit 5 | Set where the client writes a line about it. |
| how.throttled | bit 6 | Set where the player is pinging too often: a client places no ping, plays nothing and announces nothing, and only writes a notice in its own chat. |
| how.speak | bit 7 | Set where the unit says something about it. |
Vectors (1)
PlayEmote
What a client sends to play an emote. The header names the sender’s champion.
In 1.0.0.130–1.0.0.134
Carried on requests, sent by the client, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 76 |
| 1.0.0.132–1.0.0.134 | 77 |
| Field | Type | What it is |
|---|---|---|
| emote | u32 | Which emote, by its place in the client’s list; one past the list plays nothing. |
Vectors (2)
In 1.0.0.135–3.1.0.0
Carried on requests, sent by the client, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.135–1.0.0.137 | 77 |
| 1.0.0.138–1.0.0.143 | 78 |
| 1.0.0.144–1.0.0.149 | 72 |
| 1.0.0.150–3.1.0.0 | 69 |
| Field | Type | What it is |
|---|---|---|
| emote | u8 | Which emote, by the number the client knows it as. Its four emote keys send 3, 1, 0 and 2, the numbers EmotePlayed plays. |
Vectors (4)
one-on-1-0-0-136, one-on-1-0-0-143, one-on-1-0-0-149, one-on-1-0-0-154
EmotePlayed
What a server sends to say a unit played an emote. The header names the champion playing the emote.
In 1.0.0.130–1.0.0.131
Command 72 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| emote | u32 | Which emote, by its place in the client’s list; a value at or past the end of the list plays nothing. |
Vectors (1)
In 1.0.0.132–1.0.0.134
Command 73 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| emote | u32 | Which emote, by its place in the client’s list; one past the list plays nothing. |
Vectors (1)
In 1.0.0.135–1.0.0.143
Command 73 on events, sent by the server, reliable.
A client ignores the message while the champion is dead.
| Field | Type | What it is |
|---|---|---|
| emote | u8 | Which emote, by the number the client knows it as. A client plays an animation on the champion for each of 0, 1, 2 and 3, a different one each, and none for any higher value. |
Vectors (1)
In 1.0.0.144–3.1.0.0
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.144–1.0.0.149 | 68 |
| 1.0.0.150–3.1.0.0 | 65 |
| Field | Type | What it is |
|---|---|---|
| emote | u8 | Which emote, by the number the client knows it as. A client plays an animation on the champion for 0, 1 and 2, a different one each, and none for 3. |
Vectors (1)
VoiceCommand
What a server sends about a voice command a champion gave. The header names the champion.
In 1.0.0.138–1.0.0.143
Command 74 on events, sent by the server, reliable.
A client plays the champion’s voice line that call names, about target, passing on highlight and ping. It does nothing where it has no champion of its own or the player behind the champion is muted.
| Field | Type | What it is |
|---|---|---|
| padding1 | u16 | Padding before call. Unused; a server writes zero. |
| padding2 | u8 | Padding before call. Unused; a server writes zero. |
| call | u32 | Which call. |
| target | u32 | The unit the call is about. |
| flags | 1-byte bits | How it is shown. |
| flags.highlight | bit 0 | Set where the player’s icon is highlighted. |
| flags.ping | bit 1 | Set where it marks a ping. |
| flags.unused | bit 2 to 7 | Unused; a server writes zero. |
| padding3 | u16 | Padding after flags. Unused; a server writes zero. |
| padding4 | u8 | Padding after flags. Unused; a server writes zero. |
Vectors (1)
In 1.0.0.144–3.1.0.0
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.144–1.0.0.149 | 69 |
| 1.0.0.150–3.1.0.0 | 66 |
A client accepts it on a champion only, and it has no effect.
| Field | Type | What it is |
|---|---|---|
| padding1 | u16 | Padding before call. Unused; a server writes zero. |
| padding2 | u8 | Padding before call. Unused; a server writes zero. |
| call | u32 | Which call. |
| target | u32 | The unit the call is about. |
| flags | 1-byte bits | How it is shown. |
| flags.highlight | bit 0 | Set where the player’s icon is highlighted. |
| flags.ping | bit 1 | Set where it marks a ping. |
| flags.unused | bit 2 to 7 | Unused; a server writes zero. |
| padding3 | u16 | Padding after flags. Unused; a server writes zero. |
| padding4 | u8 | Padding after flags. Unused; a server writes zero. |
Vectors (2)
ContextEmote
What a server sends about an emote a champion played for the moment. It changes nothing a client shows. The header names the champion.
In 1.0.0.154–3.1.0.0
Command 240 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| emote | u8 | Which emote. |
| parameter | u32 | A hashed parameter. |
| flags | u8 | Flags with no meaning given. |
Vectors (1)
VoiceEvent
What a server sends to play a voice event. The header carries zero.
In 1.0.0.130–1.0.0.137
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 125 |
| 1.0.0.132–1.0.0.137 | 126 |
| Field | Type | What it is |
|---|---|---|
| folder | text, 64 bytes | The event’s folder. It has no effect where kind is 1. |
| event | text, 64 bytes | The event’s name; for kind 1, the conversation’s. |
| callback | u8 | For kind 0, nonzero asks the client to send VoiceEventDone once the event has played. A client sends it at once where it cannot play the event, whatever this holds. |
| handle | u32 | For kind 0, a number a client returns in VoiceEventDone; for kind 1, the champion. |
Vectors (2)
In 1.0.0.138–3.1.0.0
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.138–1.0.0.143 | 128 |
| 1.0.0.144–1.0.0.149 | 122 |
| 1.0.0.150–3.1.0.0 | 119 |
| Field | Type | What it is |
|---|---|---|
| folder | text, 64 bytes | The event’s folder. It has no effect where kind is 1. |
| event | text, 64 bytes | The event’s name; for kind 1, the conversation’s. |
| callback | u8 | For kind 0, nonzero asks the client to send VoiceEventDone once the event has played. A client sends it at once where it cannot play the event, whatever this holds. |
| kind | u8 | What sort of event. A client does nothing for any other value. Values: 0 general, 1 champion. |
| handle | u32 | For kind 0, a number a client returns in VoiceEventDone; for kind 1, the champion. |
Vectors (3)
general-on-1-0-0-143, general-on-1-0-0-149, general-on-1-0-0-154
VoiceEventDone
What a client sends once a voice event (VoiceEvent) that asked for it has played. The header carries zero.
In 1.0.0.130–1.0.0.137
Command 5 on requests, sent by the client, reliable.
A client sends it at once where it could not play the event.
| Field | Type | What it is |
|---|---|---|
| handle | u32 | The number the VoiceEvent carried. |
In 1.0.0.138–3.1.0.0
Command 5 on requests, sent by the client, reliable.
It answers only a voice event of kind 0, and a client sends it at once where it could not play the event.
| Field | Type | What it is |
|---|---|---|
| handle | u32 | The number the VoiceEvent carried. |
MusicCue
What a server sends to drive the music a client plays.
In 1.0.0.130–1.0.0.138
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 229 |
| 1.0.0.132–1.0.0.134 | 230 |
| 1.0.0.135 | 232 |
| 1.0.0.136–1.0.0.137 | 230 |
| 1.0.0.138 | 232 |
| Field | Type | What it is |
|---|---|---|
| cue | u8 | What to do. A client takes any other value and does nothing. Values: 0 prepare, 1 begin, 2 end. |
| event | u32 | Which cue or event. |
In 1.0.0.139–1.0.0.140
Command 231 on events, sent by the server, reliable.
The header names a champion: a client acts on the message for any champion it holds, not only its own.
| Field | Type | What it is |
|---|---|---|
| cue | u8 | What to do. A client takes any other value and does nothing. Values: 0 prepare, 1 begin, 2 end. |
| event | u32 | Which cue or event. |
Vectors (1)
In 1.0.0.141–3.1.0.0
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.141–1.0.0.143 | 233 |
| 1.0.0.144–1.0.0.149 | 220 |
| 1.0.0.150–3.1.0.0 | 217 |
The header names the champion of the player it is sent to.
| Field | Type | What it is |
|---|---|---|
| cue | u8 | What to do. A client takes any other value and does nothing. Values: 0 prepare, 1 begin, 2 end. |
| event | u32 | Which cue or event. |
Vectors (3)
VolumeMuted
What a server sends to mute or unmute one kind of sound. The header carries zero.
In every range of this book
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.143 | 41 |
| 1.0.0.144–3.1.0.0 | 38 |
| Field | Type | What it is |
|---|---|---|
| category | u8 | Which kind. A client ignores the message from 7 up. Values: 0 all, 1 music, 2 effects, 3 announcer, 4 unitResponses, 5 environment, 6 mainEffects. |
| state | 1-byte bits | Whether it is muted. |
| state.muted | bit 0 | Set to mute, clear to unmute. |
| state.unused | bit 1 to 7 | Unused; a server writes zero. |
Vectors (1)
FadeSounds
What a server sends to fade a client’s sound effects out. The header carries zero.
In every range of this book
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 98 |
| 1.0.0.132–1.0.0.137 | 99 |
| 1.0.0.138–1.0.0.143 | 101 |
| 1.0.0.144–1.0.0.149 | 95 |
| 1.0.0.150–3.1.0.0 | 92 |
| Field | Type | What it is |
|---|---|---|
| time | f32 | How long the sounds take to fade; the unit is not recorded. |
Vectors (5)
one-on-1-0-0-131, one-on-1-0-0-136, one-on-1-0-0-143, one-on-1-0-0-149, one-on-1-0-0-154
UnitSpoke
What a client sends when a unit says something on its screen. A server need do nothing with it. The header names the unit speaking.
In 1.0.0.130–1.0.0.137
Command 27 on requests, sent by the client, reliable.
| Field | Type | What it is |
|---|---|---|
| unit | u32 | A value the client takes from the unit that speaks; what it names is not recorded. |
| unknown | f32 | A client writes 1073741824. |
| unknownToo | u32 | A client writes zero. |
| kind | u8 | 0 for a unit’s speech; a client writes 1 where it sends the text of a script error it caught, under the first unit it holds that can carry it. |
| unused | u8 | A client writes zero. |
| text | text, ended by a zero byte | What the unit says, ended by a zero byte; the two take at most 1024 bytes. |
Vectors (1)
In 1.0.0.138–1.0.0.143
Command 27 on requests, sent by the client, reliable.
| Field | Type | What it is |
|---|---|---|
| unit | u32 | A value the client takes from the unit that speaks; what it names is not recorded. |
| unknown | f32 | A client writes 1073741824. |
| unknownToo | u32 | A client writes zero. |
| kind | u8 | A client writes 1 where the line reports an error in a script, and 0 otherwise. |
| unused | u8 | A client writes zero. |
| unusedToo | u32 | Where a level script makes a unit speak, a client writes the third value that script gave; otherwise zero. |
| text | text, ended by a zero byte | What the unit says, ended by a zero byte; the two take at most 1024 bytes. |
Vectors (1)
In 1.0.0.144–3.1.0.0
Command 24 on requests, sent by the client, reliable.
| Field | Type | What it is |
|---|---|---|
| unit | u32 | A value the client takes from the unit that speaks; what it names is not recorded. |
| unknown | f32 | A client writes 1073741824. |
| unknownToo | u32 | A client writes zero. |
| kind | u8 | A client writes zero. |
| unused | u8 | A client writes zero. |
| unusedToo | u32 | A client writes zero. |
| text | text, ended by a zero byte | What the unit says, ended by a zero byte; the two take at most 1024 bytes. |