Exemple #1
0
  protected void deliverFromAgent(Message message) {
    // Deliver to admin or simulation (when simulation exists)
    String receiver = message.getReceiver();
    SimulationAgent proxy;
    if (isClosed) {
      // closed channel
    } else if (Admin.ADMIN.equals(receiver)) {
      Transportable content = message.getContent();
      if (message.getSender() == null) {
        message.setSender(name);
      }
      if ((content instanceof AdminContent)
          && (((AdminContent) content).getType() == AdminContent.QUIT)) {
        // Time to close this connection
        deliverToAgent(message.createReply(new AdminContent(AdminContent.QUIT)));
        close();

      } else {
        admin.deliverMessageFromAgent(this, message);
      }

    } else if ((proxy = this.proxy) != null) {
      proxy.deliverFromAgent(message);

    } else {
      // not a valid receiver because the agent is not in a game
    }
  }