O gestor de servidores, única instância da classe, é um dos objectos mais complexos do módulo de distribuição, pois usa os serviços do próprio módulo para seus propósitos e é, ele próprio, um objecto distribuído controlado pelo módulo de distribuição.
Este objecto é o que controla a actividade do servidor de RPC de uma aplicação, uma que é invisível para o nível de ligação: a que permite o acesso de um objecto do exterior enquanto a aplicação local continua a sua execução concorrentemente. Embora o sistema de RPC utilizado permita um número indeterminado de actividades no atendimento de chamadas remotas, neste caso tomou-se a decisão simplificativa de apenas permitir uma, sendo as outras obrigadas a aguardar. Esta escolha tem algumas consequências no funcionamento, não permitindo, em particular, chamadas recursivas entre contextos, sob pena de ambos ficarem bloqueados.
A funcionalidade deste objecto está dividida em duas partes: a gestão dos serviços do módulo relacionados com o lado do servidor num sistema de RPC e a gestão dos objectos do nível de ligação envolvidos em ligações remotas. Da parte de controlo do sistema de RPC têm-se os métodos:
SPM_quot
rpc_server_listen" deixando o
servidor preparado para receber chamadas remotas.
SPM_quot
rpc_mgmt_stop_server_listening" é chamada.
Na parte de controlo do módulo de distribuição têm-se os métodos que permitem registar e procurar servidores de interface (SIFs), nas tabelas do objecto. Recorde-se que o gestor de servidores não se preocupa directamente com os envelopes, mas tão só com os objectos relacionados com cada interface. A gestão dos envelopes será controlada, por cada SIF associado a uma dada interface.
A classe SPM_quot
DI_svcctl" é uma subclasse de envelope, para que a sua
instância possa usufruir da funcionalidade associada aos envelopes
pela existência do módulo de distribuição. Este é, contudo, um
envelope especial, uma vez que nunca tem carta. Todas as funções são
sempre desempenhadas pelo objecto envelope.