From: Markus R. <rol...@un...> - 2008-04-12 11:15:45
|
Hi Ben, Ben wrote: > 1. >The most simple solution would be a single logchannel for all > integrated > >agents. A more elaborate solution would provide a channel for each > >agent. Opinions? > A channel with different kinds of streams for each agent is perfect. > Then an agent can log itself powerfully just like the server. The question is how to extend the logserver to support that. Some issues are: Currently the Logserver supports different priority levels, i.e. normal, debug, warning, error. If we extend the logserver to provide additional channels we could add the agent channels as new priority levels (see zeitgeist/logserver/logserver.h the EPriorityLevel enum). In this case using a single new constant like 'eAgent' and offset that with the uniqe agent id would provide a channel id for each agent (i.e. eAgent + 1, eAgent + 2 ...) The downside is we cannot provide different loglevels (i.e. debug, normal etc. for one agent channel). One possibility would be to provide multiple bases like eAgentNormal, eAgentDebug etc. and offset them. This could be hidden behind a nice interface like "GetLog()->AgentDebug(agentId)" > 2. >But I looked over the last version of the integrated agent patch and > I'd > >say that it's ready for inclusion into CVS! ;) > Where should the files be placed? A single app or as plugin? > And how to name it is a sticky problem to me :( I'd say the names are fine. The soccebotbehavior could become part of the existing soccer plugin. This class derives from the base behavior class, so this must be part of one core library (you cannot inherit a class from a base that is part of another plugin). The base behavior class could go into the gamecontrol directory and the traincontrol class into the simulationserver directory. > 3. >The change concerning the use of predicate lists would be nice > however ;) > ok, I'll work it out. thanks. cheers, Markus |