2.2.4 Packet Data Token and Tokenless Data Streams
The messages contained in packet data that pass between the client and the server can be one of two types: a "token stream" or a "tokenless stream". A token stream consists of one or more "tokens" each followed by some token-specific data. A "token" is a single byte identifier that is used to describe the data that follows it and contains information such as token data type, token data length, and so on. Tokenless streams are used for simple messages. Messages that might require a more detailed description of the data within it are sent as a token stream. The following table highlights which messages, as described previously in sections 2.2.1 and 2.2.2, use token streams and which do not.
Message type |
Client or server message |
Token stream? |
---|---|---|
Pre-Login |
Client |
No |
Login |
Client |
No |
Federated Authentication Token |
Client |
No |
SQL Command |
Client |
No |
Bulk Load |
Client |
Yes |
Remote Procedure Call (RPC) |
Client |
Yes |
Attention |
Client |
No |
Transaction Manager Request |
Client |
No |
Pre-Login Response |
Server |
No |
Federated Authentication Information |
Server |
Yes |
FeatureExtAck |
Server |
Yes |
Login Response |
Server |
Yes |
Row Data |
Server |
Yes |
Return Status |
Server |
Yes |
Return Parameters |
Server |
Yes |
Response Completion |
Server |
Yes |
Session State |
Server |
Yes |
Error and Info |
Server |
Yes |
Attention Acknowledgement |
Server |
No |