As the library has grown in popularity it serves many distinct usages, one of them being for server related (Simulator) stuff, the other Client (Bots). Separating out the library into distinct assemblies will provide a level of abstraction that will for simulator developers provide much less library noise, and allow for client developers to have a much more fully featured library providing more than simple methods and events.
The proposal is to move all Packet, Message, and Networking related items including both UDP and Capabilities into a Core library which can be used by those working on simulators (such as Simian, OpenSim, Etc). This library will be referenced and required by the OpenMetaverse.dll client library however the reverse is not true. The Core library can be used without the overhead and noise of the client functionality OpenMetaverse.dll provides. Th
This taks is nearly impossible at this time due to the massive amount of circular dependencies in the library that currently exist.
Previous changes have been merged back into OpenMetaverse.dll in r3129.