VRML+
Command Error Handling
Overview
-
It is inevitable that packets will be sent to clients and servers that
don't understand them. In addition packets may contain erroneous or incomprehensible
information. Services may be moved to different addresses. Access to certain
services may be restricted.
Actions
Command Error handing can broken three separate categories. Service requests
can be redirected to other servers. Service requests may require some form
of authorization. Finally, service requests may fail.
Redirect
-
If a packet is sent to the wrong address, the receiver replies with a redirect
packet that specifies the correct address.
Only certain types of packets can be redirected. Currently these are:
map, request, clientupdate.
Use Authorization
-
If authorization is needed to use the requested service, the receiver replies
indicating how to get that authorization.
Command Failed
-
When a receiver does not understand the packet sent to it and does not
know where that packet might be correctly interpreted it returns a command
failed packet.
Command Error Handling Packets
Redirect Packet
-
Sent By:
-
Server
-
Received By:
-
Client
-
When Sent:
-
Sent when the requested service is to be handled elsewhere. Currently
it only makes sense to send these in response to: map, request, and clientupdate
packets
-
Interpretation:
-
The commandToRedirect field specifies which kind of command packet
to redirect. The address field specifies where to redirect it. For example:
A client update packet is sent to an ID server. The server could send a
redirect packet to tell the sender where to direct further client update
packets. Alternatively, it could interpret the contents of the packet,
and redirect the sender to one of several motions servers.
Fields:
Command=REDIRECT
CommandToRedirect
Address (HOST/IP)
Use Authorization Packet
-
Sent By:
-
Anyone
-
Received By:
-
Anyone
-
When Sent:
-
This packet is sent for any packet for which authorization is required
but not yet received.
-
Interpretation:
-
The recipient performs the authorization speficied in the action
field.
Fields:
Command=USEAUTHORIZATION
Action (URL)
Command Failed Packet
-
Sent By:
-
Anyone
-
Received By:
-
Anyone
-
When Sent:
-
This packet is sent in response to a packet that is not understood.
-
Interpretation:
-
This is an error condition, look at the offending packet and the
reason to determine a reasonable course of action.
-
Reason Values:
-
-
Command Unknown
-
The server doesn't implement the requested command
-
Out of resources
-
The server does not have enough resources to service this request
-
Duplicate ID
-
Not sure when this is sent
-
Invalid ID
-
Sent when a ID doesn't match the Host and Port. Re-register with the ID
server.
-
Bad Data
-
There is something wrong with the data in the packet (the command is recognised)
-
Authorization Failure
-
This ID does not have permission to take the requested step.
-
Unknown Client
-
Sent when an unknown ID and Port received, re-register with ID server.
Fields:
Command=COMMANDFAILED
Reason
OffendingPacket
Worlds Inc VRML+ Team
Alan Steremberg <alans@core.worlds.net>
Jeff Close <close@halcyon.com>
Kyle Hayes <kyle@core.worlds.net>
Mitra <mitra@mitra.biz>
All contents Copyright © 1995 Worlds Inc.
Reproduction for personal use is permitted. All other uses are prohibited
without the formal authorization of Worlds Inc., Worlds, Worlds Chat, AlphaWorld,
VRML+, Internet Worlds Fair, LifeForms, Worlds Class Builder and It's Your
World are all trademarks of Worlds Inc.
Web Problems?