Namespace Azos
Classes
Ambient
Provides access to process-global ambient context. Business app developers normally should not use this class
Aver
Provides basic averments for test construction. May call Aver.Fail(msg) manually
Aver.ThrowsAttribute
Aver that method throws an exception of type
AvermentException
Thrown by Aver class to indicate averment failures
AzosException
Base exception thrown by the framework
CollectionUtils
Extensions for standard collections
ConfUtils
Provides configuration-related utility extensions
CoreConsts
Central non-localizable Azos system constants
CoreUtils
Provides core utility functions used by the majority of projects
DataUtils
Provides various extension methods for construction of FieldFilterFunc and casting rowsets
DateUtils
Provides core date/time-related utility functions used by the majority of projects
Debug
Facilitates debugging tasks enabled by DEBUG conditional define
DebugAssertionException
Thrown by Debug class to indicate assertion failures
Debugging
Facilitates debugging tasks that do not depend on any conditional defines
DisposableObject
General-purpose base class for objects that need to be disposed
DisposedObjectException
This exception is thrown from DisposableObject.EnsureObjectNotDisposed() method
IntUtils
Provides helper utility methods for integer mathematics, bit alignment, and prime numbers. Only most common methods are purposely made as extension methods
IOUtils
Provides IO-related utility extensions
ReflectionUtils
Provides core reflection utility functions used by the majority of projects
StrUtils
Provides core string utility functions used by the majority of projects
TaskUtils
Provides task-related utility functions used by the majority of projects
Trace
Facilitates debugging tasks enabled by TRACE conditional define
WebUtils
Provides Web-related utility functions used by the majority of projects
WrappedException
Represents exception that contains data about causing exception with all of it's chain
WrappedExceptionData
Marshals exception details
Structs
FID
Represents an ultra-efficient 64 bit in-process-wide unique identifier "Fast Id". The ID is going to wrap-around after at least 2 weeks (19 days). The ID consists of 3 segments: [timestamp: 24bit][threadseed: 24bit][counter: 16 bit]. This is needed because: a). FID stays unique after process restarts b). This design does not use interlock on global seed, but uses thread-static vars which is 10-20 times faster
The timestamp is the number of 100ms intervals elapsed since Jan 1 2015 expressed as a 24 bit unsigned int, which gives 2^24 = 16,777,216 combinations which covers 19 days (around 2 weeks) at 100 msec resolution, consequently the ID will generate duplicates after this period. This struct is useful for creating unique IDs for protocol/traffic messages that live for a limited time (no more than 2 weeks). Caution: This ID does not identify the machine or process, only items within the process, however when a hosting process restarts(i.e. crash or reboot) the new IDs will not collide with IDs generated right before the crash for at least 14 days (14 day sliding window). In a parallel test on 6 Core i7 3.2 GHz this class generates 405 million IDs/sec, which is 57 times faster than Guid that only generates 7 million IDs/sec
Interfaces
IApplication
Establishes a general model for applications - a "chassis": root service composite governs app initialization, module linking (service location), state management, logging, security, and other app/process-wide activities. An applications is usually allocated at program entry point and provides common "ambient" context - a "chassis pattern".
ISkyApplication
Defines a contract for Sky distributed applications
IWrappedExceptionDataSource
Provides textual portable data about this exception which will be used in wrapped exception. Wrapped exceptions are used to marshal non serializable exceptions
Enums
Ambient.MemoryUtilizationModel
Denotes memory utilization modes
Aver.ThrowsAttribute.MatchType
DebugAction
Specifies how to handle Assertion and other failures
DumpFormat
Format of the String Dump
SystemApplicationType
Denotes system application/process types that this app container has, i.e.: HostGovernor, WebServer, etc.