Show / Hide Table of Contents

Namespace NFX

Classes

AbsentValue

Represents a special value that signifies the absence of any entity/state/value/data. The instances may be stored in a cache to indicate that the key exists, but points to a non-existing "absent" entity. This is usefull for DB lookups, not to touch the backend for values that dont exist. Use AbsentValue.Instance singleton

App

Provides a shortcut access to app-global context NFX.ApplicationModel.ExecutionContext.Application.*

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

CollectionUtils

Some helpful extensions for standard collections

CoreConsts

Central non-lozalizable NFX system consts

DataUtils

Provides various extension methods for construction of FieldFilterFunc and casting rowsets

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

ELink

Represents an Electronic Link which is an alpha-encoded identifier along with metadata information. Warning! This class MAY generate fragments of profanity, however any ID can be regenerated using a different seed passed to Encode(seed)

EmbeddedResource

Fetches resources such as script statement text by scriptName from assembly resource stream. Mostly used for SQL and JavaScript but maybe used for any text retrieval. This class is 100% safe for multithreading operations. Script texts are cached in ram for faster subsequent access.

ExternalParameterAttribute

Decorates properties that may be used as bindable external parameters. Provides methods for extraction of parameter names, values and binding of external object values into public read/write properties decorated by this attribute

ExternalRandomGenerator

Represents a random generator which is based on System.Random() yet has an ability to feed external samples into it. Use ExtrenalRandomGenerator.Instance to use the default thread-safe instance.

GuidTypeAttribute

Provides information about the decorated type: assignes a globally-unique immutable type id

GuidTypeResolver<T, A>

Provides default type resolver implementation which looks for types in listed assemblies looking for types decorated with specified attribute

IntMath

IOMiscUtils

Misc utils for I/O

KeyedMonitor<TKey>

Provides Monitor thread synchronization functionality over lock objects addressable by key(name). This class is thread-safe. The internal implementation is based on a fixed-size array of Dictionary objects to minimize inter-locking. Do not allocate/deallocate this class often, instead allocate once per service that needs to synchronize by keys and call methods on the instance.

MiscUtils

Provides a collection of frequently-used extension methods

NFXException

Base exception thrown by the framework

ObjectValueConversion

Provides extension methods for converting object values to different scalar types

OrderedRegistry<T>

Represents a thread-safe registry of T which is ordered by Order property. This class is efficient for concurrent read access and is not designed for cases when frequent modifications happen. It is ideal for lookup of named instances that have much longer time span than components that look them up. Note: since registry does reading in a lock-free manner, it is possible to have an inconsistent read snapshot of ordered items which may capture items that have already/not yet been added to the registry

ReferenceEqualityComparer<T>

Checks for reference equality. Use ReferenceEqualityComparer(T).Instance

ReflectionUtils

Provides a collection of frequently-used reflection extension methods

Registry<T>

Represents a thread-safe registry of T. This class is efficient for concurrent read access and is not designed for cases when frequent modifications happen. It is ideal for lookup of named instances (such as components) that have much longer time span than components that look them up. Registry performs lock-free lookup which speeds-up many concurrent operations that need to map names into objects. The enumeration over registry makes a snapshot of its data, hence a registry may be modified by other threads while being enumerated.

Scope

Helper class to be used in the context of 'using' clause to facilitate cleanup on scope exit and performing of other functions such as status logging

SealedString.Scope

Represents a scope of a SealedString creation that tracks the existing strings. Use Seal(string) to get an existing string or create a new one. Do not persist the instance of Scope for a long time as it accumulates references (string keys) that pressure the GC. This class is used in batched that create many sealed strings. Once those strings rae created the scope can be released.

StringValueConversion

Provides extension methods for converting string values to different scalar types

TaskUtils

Trace

Facilitates debugging tasks enabled by TRACE conditional define

URIUtils

URI handling helpers

WrappedException

Represents exception that contains data about causing exception with all of it's chain

WrappedExceptionData

Marshalls 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

Scope._scopeExit

Scope._scopeExit<TCtx1>

Scope._scopeExit<TCtx1, TCtx2>

Scope._scopeExit<TCtx1, TCtx2, TCtx3>

Scope._scopeExit<TCtx1, TCtx2, TCtx3, TCtx4>

SealedString

Represents an immutable string data that is stored in an efficient way that relieves the GC pressure. The string can not be changed or deleted. Once created it stays as-is until the process is terminated. This structure is used to store much dictionary data (100s of millions of strings) in the process without causing GC overload. Note: The default .ctor DOES NOT check whether the same string is already present in memory. Use SealedString.Scope to store unique strings only (do not store the repetitions). This struct is THREAD SAFE and NOT SERIALIZABLE.

Interfaces

IEndableInstance

Describes an entity that can request some hosting container to end its lifetime by calling End() method

IExternallyParameterized

Denotes an entity that has external parameters that can be get/set

IGuidTypeResolver

Describe an entity that resolve type guids into local CLR types

INamed

Denotes an entity that has a Name property. This interface is primarily used with Registry[INamed] class that allows for string-based addressing (getting instances by object instance name). The names are ideal for many system functions, like naming components in configs and admin tools

IOrdered

Denotes an entity that has a relative Order property within a collection of entities

IOrderedRegistry<T>

Provides read-only named ordered object lookup capabilities

IParameter

Represents abstract parameter

IParameters

Represents abstract parameters bag

IRegistry<T>

Provides read-only named object lookup capabilities

IWrappedExceptionDataSource

Provides textual portable data about this exception which will be used in wrapped exception. Wrapped exceptions are used to marshall non serializable exceptions

Enums

App.MemoryUtilizationModel

Denotes memory utilization modes

Aver.ThrowsAttribute.MatchType

ConvertErrorHandling

Specifies how to handle errors during object value conversion

DebugAction

Specifies how to handle Assertion and other failures

DumpFormat

Format of the String Dump

ExternalParameterSecurityCheck

Specifies when security permissions should be checked while getting/setting extrenal parameters

ObjectValueConversion.TriStateBool

A "hack" enum used to provide tri-state checkbox functionality in some systems, i.e. HTML checkmarks do not understand "nulls". This is a surrogate type not used in server-side programming

Back to top Copyright © 2006-2018 Agnicore Inc
Generated by DocFX