# $EPIC: referring_to_servers.txt,v 1.1 2006/09/02 00:37:24 jnelson Exp $
A server has several pieces of data that identify it
|A small positive integer number
|The hostname you provided in the server description
|The name the server refers to itself as on irc
|The (local) group name you put the server into
|Any alternate name you have given the server
There are many places you provide a “server” to the client. It uses the above rules to convert what you provide into a refnum.
If you provide a number, it refers to the server with that refnum.
Otherwise, scans all of the servers that are open from the lowest refnum to the highest refnum, and looks to see if what you provided wildcard matches any of the above pieces of data.
If none of the open servers match, it then scans all of the closed servers from lowest refnum to highest refnum.
If none of the closed servers match, then what you provided does not refer to a server. In many cases, if you provided a server description, it will be added to the server list, assigned a new refnum, and that refnum will be used.
Please remember, if more than one server shares the same piece of data (for example, you are connected to “irc.foo.com:6667” and “irc.foo.com:6666”, and you ask for “irc.foo.com”, or you are connected to two servers in the same group and you refer to that group), then the one with the lowest refnum wins.
Please remember that any of the above pieces of data is considered acceptable to match. The “group” of server 0 beats out “our name” of server 1.
Please remember that wildcards are always accepted! It's perfectly acceptable to do something like