I'm thinking of doing some changes to Pan to implement multiserver support.
First, see MessageSources in pan/base/. It's a set if {server, group,
article number} tuples of where to find an article. Let's call it an
Xref, since that's shorter and makes more sense.
Now, the current $PAN_HOME/.pan/$server/$groupname file will have to
change. We will only want one header file per group, so the structure
will look more like $PAN_HOME/.pan/groups/$groupname. When we xover the
same group from two servers, the first copy of a header to come in
creates a new Article object. The second one to come in (from the
second server) just adds more Xref entries to the existing Article.
The Task struct would lose its Server field. Instead when a task set
its state to TASK_NEED_SOCKET, it would also tell the state object which
servers it could use. The task would build this list of servers by
walking through the Xref struct for each article it needed to fetch.
The Server has-a Group has-a Article structure would need to change, and
Server would essentially be downgraded to a struct holding the server's
address, username/password, and maximum number of connections.
The group pane would show all servers' groups at once.
The Server menu would go away since we'd no longer have to switch from
server to server.
Any thoughts/suggestions?
_______________________________________________
Pan-devel mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/pan-devel