Note: This website is archived. For up-to-date information about D projects and development, please visit wiki.dlang.org.

Changes between Version 3 and Version 4 of MangoTreeV21

Show
Ignore:
Author:
kris (IP: 68.122.224.218)
Timestamp:
02/05/07 23:38:07 (14 years ago)
Comment:

more broken links

Legend:

Unmodified
Added
Removed
Modified
  • MangoTreeV21

    v3 v4  
    2727 * ''mango.http.server:'' an HTTP server framework is provided for implementing a variety of high performance servers based on the HTTP protocol. This is not a fully-fledged v1.1 implementation. That is, it doesn't currently support 'fields' or 'keep alive'. However, it happily processes each request without allocating memory, making it unusually efficient. This is an example of how D array-slicing can seriously improve runtime efficiency. An open-source HTTPS library should be fairly easy to bolt in. Modules !HttpServer and IProvider are the primary entry points: you implement an instance of the latter, and hand it to the former. 
    2828 
    29  * ''mango.servlet:'' A servlet-style engine that sits upon mango.server. Includes most of the things that Java servlet programmers would expect, and attempts to improve in certain key areas such as the IO system. See Servlet and !ServletProvider, and the [http://trac.dsource.org/projects/mango/browser/trunk/example/servlets.d Servlets] example. 
     29 * ''mango.servlet:'' A servlet-style engine that sits upon mango.server. Includes most of the things that Java servlet programmers would expect, and attempts to improve in certain key areas such as the IO system. See Servlet and !ServletProvider, and the [http://trac.dsource.org/projects/mango/browser/branches/v2.1/example/servlets.d Servlets] example. 
    3030 
    3131 * ''mango.cache:'' Some simple caching mechanisms. Includes MRU caching via a queue, and level-two caching (to disk) via class-serialization. Now based upon a derivative of Doug Lea's concurrent hashmap. The mango.cluster package derives from  mango.cache, so it's really easy to switch between a local cache implementation and a clustered version. See ICache, IMutableCache, !PlainCache, !QueuedCache and !VirtualCache. 
    3232 
    33  * ''mango.log:'' An implementation of the popular Log4J package, for logging and tracing of runtime behaviour. See [http://logging.apache.org/log4j/docs/documentation.html this page] for an introduction to Log4J. Mango.log exposes an extensible and customizable framework, has been optimised heavily for minimal runtime overhead, does not impact the GC once initialised, and operates with either Mango.io or Phobos streams. Mango.log can generate remote log messages for use with [http://logging.apache.org/log4j/docs/chainsaw.html Chainsaw], and has a browser-based 'Administrator' which allows remote, dynamic inspection and adjustment of the log settings within an executing program. See Logger, !BasicConfigurator and !PropertyConfigurator. There are a number of examples that show how to use these facilities ~ see [http://trac.dsource.org/projects/mango/browser/trunk/example/logging.d Logging] 
     33 * ''mango.log:'' An implementation of the popular Log4J package, for logging and tracing of runtime behaviour. See [http://logging.apache.org/log4j/docs/documentation.html this page] for an introduction to Log4J. Mango.log exposes an extensible and customizable framework, has been optimised heavily for minimal runtime overhead, does not impact the GC once initialised, and operates with either Mango.io or Phobos streams. Mango.log can generate remote log messages for use with [http://logging.apache.org/log4j/docs/chainsaw.html Chainsaw], and has a browser-based 'Administrator' which allows remote, dynamic inspection and adjustment of the log settings within an executing program. See Logger, !BasicConfigurator and !PropertyConfigurator. There are a number of examples that show how to use these facilities ~ see [http://trac.dsource.org/projects/mango/browser/branches/v2.1/example/logging.d Logging] 
    3434 
    3535 * ''mango.cluster:'' A clustering package for servers and other network aware applications. Currently supports clustered caching and queuing, where the former is limited to a fixed MRU number of entries per node, and the latter is limited to an upper memory waterline. While the underlying QOS (quality of service) substrate is setup to be plugable, the QOS currently provided is stream/multicast based. Note that this package is not a substitute for a persistence layer; instead it is a tool for enabling horizontal scaling within a system that has been designed explicitly from the outset to scale. On the other hand, it can significantly enhance the throughput of any persistence layer by offloading a large percentage of read operations. See !CacheInvalidatee, !CacheInvalidator, !NetworkCombo, !NetworkAlert, !NetworkCache and !NetworkQueue. 
    3939 * ''mango.convert:'' includes a range of formatting modules, including Sprint, Format, Integer, Double, and Atoi. The precision floating-point converters from David Gay are wrapped as DGDouble, and can be configured instead of Double. There's also a date parser and formatter, Rfc1123. Finally, there's a complement of high-performance Unicode converters, along with a module for handling unicode BOM. Mango.convert is templated for char, wchar, and dchar. The printf() compatable Sprint and Print convert char, wchar, and dchar arguments appropriately for the target representation. 
    4040 
    41  * ''mango.sys:'' includes a number of low-level utilities such as !ByteSwap, and various O/S-specific functions. Also includes a great time-conversion module, Epoch, which hides the complexity of the relevant O/S functions ~ see [http://trac.dsource.org/projects/mango/browser/trunk/example/localtime.d LocalTime]. 
     41 * ''mango.sys:'' includes a number of low-level utilities such as !ByteSwap, and various O/S-specific functions. Also includes a great time-conversion module, Epoch, which hides the complexity of the relevant O/S functions ~ see [http://trac.dsource.org/projects/mango/browser/branches/v2.1/example/localtime.d LocalTime]. 
    4242 
    43  * ''mango.text:'' Unicode token-parsing and string handling. Includes String, !ImmutableString, !SimpleIterator, !QuoteIterator, !RegexIterator and !LineIterator. Iterators support streaming via internal use of IBuffer, which also enables lockstep reading across multiple iterator (and reader) instances when bound to a common source. See [http://trac.dsource.org/projects/mango/browser/trunk/example/lineio.d Lineio] for a !LineIterator example, and [http://trac.dsource.org/projects/mango/browser/trunk/example/token.d Token] for a !QuoteIterator example. 
     43 * ''mango.text:'' Unicode token-parsing and string handling. Includes String, !ImmutableString, !SimpleIterator, !QuoteIterator, !RegexIterator and !LineIterator. Iterators support streaming via internal use of IBuffer, which also enables lockstep reading across multiple iterator (and reader) instances when bound to a common source. See [http://trac.dsource.org/projects/mango/browser/branches/v2.1/example/lineio.d Lineio] for a !LineIterator example, and [http://trac.dsource.org/projects/mango/browser/branches/v2.1/example/token.d Token] for a !QuoteIterator example. 
    4444 
    4545Additional packages under construction: