we use the following codes to advertise an admin service which used in the core engine,
char adm[XATMI_SERVICE_NAME_LENGTH + 1]; ACE_OS::snprintf(adm, XATMI_SERVICE_NAME_LENGTH + 1, ".%s%d", server, serverid);
the XATMI_SERVICE_NAME_LENGTH is 15 which is defined in the XATMI spec:
The first 15 characters determine the service name.
so the server name cannot use a number as the numbers are allocated by the core engine and the name can be determined by the portion of text between a period and a number. then we restricte its maxlength for 7 as we need to support 10^7 servers.
hope this is clear !
thanks for the explanation!