Main concept of design is easy hw servers design and high efficient for binary data, XML data is considered slow and can be rather slow. 1. Threads are running only from server part. Library functions havn't right to spawn threads. 2. Problems with "Supported locales" information. Still OPC protocol provides server wide information about supported locales. Different plugins can have their different set of supported languages. 3. I reply with part of directory entries to BrowseRequest but have problems to store permanent structure in OPCHolder. How I can inform client about it? 4. Timeouts are treated as idle timeouts. I.e. it is possible to spend more time in function then timeout. Timeouts are limiting idle waits. If there no data at specified amount of time function will return with error, if at least one byte will be recieved during timeout, it will be prolonged. -------------------------- dsZeroContext dsCreateContext (Zero) dsCreateSContext (Zero) dsInitContext (NoZero!) dsFreeContext (Zero) dsDestroyContext dsInit dsDestroy Usage of structures instead of preallocated with CreateContext pointers. 1. memset to zero structure 2. Set memory allocator if neccessary 3. Call ZeroContext 4. Call InitContext and further as usual 5. With even minor library upgrade executable should be rebuilded from sources.