DefaultPile MembersNFX Class Library

[This is preliminary documentation and is subject to change.]

The DefaultPile type exposes the following members.
Constructors

  NameDescription
Public methodDefaultPile(String)
Initializes a new instance of the DefaultPile class
Public methodDefaultPile(Object, String)
Initializes a new instance of the DefaultPile class
Back to Top
Methods

  NameDescription
Protected method____ObtainPrivateServiceStatusLockObject
WARNING: Developers never call this method!!! It is used by advanced derived implementations that need to synchronize status updates. We do not want to make statuslock protected as it is almost never needed, hence this accessor
(Inherited from Service.)
Protected method__setComponentDirector (Inherited from ApplicationComponent.)
Protected methodAbortStart
Allows to abort unsuccessful DoStart() overridden implementation. This method must be called from within DoStart()
(Inherited from Service.)
Public methodAcceptManagerVisit
Accepts a visit of a manager entity - this call is useful for periodic updates of service status, i.e. when service does not have a thread of its own it can be periodically managed by some other service through this method. The default implementation of DoAcceptManagerVisit(object, DateTime) does nothing
(Inherited from Service.)
Public methodCheckForCompleteStop
Non-blocking call that returns true when the service instance has completely stopped after SignalStop()
(Inherited from Service.)
Protected methodCheckServiceActive
Checks for service activity and throws exception if service is not in ControlStatus.Active state
(Inherited from Service.)
Protected methodCheckServiceActiveOrStarting
Checks for service activity and throws exception if service is not in ControlStatus.Active state
(Inherited from Service.)
Protected methodCheckServiceInactive
Checks for service inactivity and throws exception if service is running (started, starting or stopping)
(Inherited from Service.)
Public methodCompact
Public methodConfigure
Configures service from configuration node (and possibly it's sub-nodes)
(Inherited from Service.)
Public methodCrawl
Analyzes all segments scanning for free spaces. Returns number of uncovered free bytes. This is a full-blocking long operation that may take around 8 seconds on a 64Gb heaps in non-parallel mode
Public methodDelete
Deletes object from pile by its pointer returning true if there is no access violation and pointer is pointing to the valid object, throws otherwise unless throwInvalid is set to false
Protected methodDestructor (Overrides Service Destructor .)
Public methodDispose
Deterministically disposes object. DO NOT OVERRIDE this method, override Destructor() instead
(Inherited from DisposableObject.)
Protected methodDoAcceptManagerVisit (Overrides Service DoAcceptManagerVisit(Object, DateTime).)
Protected methodDoCheckForCompleteStop
Provides implementation for checking whether the service has completely stopped
(Inherited from Service.)
Protected methodDoConfigure (Overrides Service DoConfigure(IConfigSectionNode).)
Protected methodDoSignalStop
Provides implementation that signals service to stop. This is expected not to block
(Inherited from Service.)
Protected methodDoStart (Overrides Service DoStart .)
Protected methodDoWaitForCompleteStop (Overrides Service DoWaitForCompleteStop .)
Public methodEnsureObjectNotDisposed
Checks to see whether object dispose started or has already been disposed and throws an exception if Dispose() was called
(Inherited from DisposableObject.)
Public methodOnlineEquals
Determines whether the specified object is equal to the current object.
(Inherited from OnlineObject.)
Public methodExternalGetParameter
Gets external parameter value returning true if parameter was found
(Inherited from ServiceWithInstrumentationBase TDirector .)
Public methodExternalParametersForGroups
Returns named parameters that can be used to control this component
(Inherited from ServiceWithInstrumentationBase TDirector .)
Public methodExternalSetParameter
Sets external parameter value returning true if parameter was found and set
(Inherited from ServiceWithInstrumentationBase TDirector .)
Protected methodFinalize (Inherited from DisposableObject.)
Public methodGet
Returns a CLR object by its pointer or throws access violation if pointer is invalid
Public methodOnlineGetHashCode
Serves as the default hash function.
(Inherited from OnlineObject.)
Public methodGetRawBuffer
Returns a raw byte[] occupied by the object payload, only payload is returned along with serializer flag which tells what kind of serializer was used. This method is rarely used, it is needed for debugging and special-case "direct" memory access on read to bypass the de-serialization process altogether
Public methodOnlineGetType
Gets the OnlineType of the current instance.
(Inherited from OnlineObject.)
Public methodLocalizedTimeToUniversalTime
Converts localized time to UTC time as of TimeLocation property
(Inherited from Service.)
Protected methodOnlineMemberwiseClone
Creates a shallow copy of the current OnlineObject.
(Inherited from OnlineObject.)
Public methodPurge
Public methodPut
Puts a CLR object into the pile and returns a newly-allocated pointer. Throws out-of-space if there is not enough space in the pile and limits are set. Optional lifeSpanSec is ignored by this implementation
Public methodRejuvenate
Public methodSignalStop
Non-blocking call that initiates the stopping of the service
(Inherited from Service.)
Public methodSizeOf
Public methodStart
Blocking call that starts the service instance
(Inherited from Service.)
Protected methodStartByApplication
Blocking call that starts the service instance
(Inherited from Service.)
Public methodOnlineToString
Returns a string that represents the current object.
(Inherited from OnlineObject.)
Public methodUniversalTimeToLocalizedTime
Converts universal time to local time as of TimeLocation property
(Inherited from Service.)
Public methodWaitForCompleteStop
Blocks execution of current thread until this service has completely stopped
(Inherited from Service.)
Back to Top
Extension Methods

  NameDescription
Public Extension MethodAsBool (Defined by ObjectValueConversion.)
Public Extension MethodAsByte (Defined by ObjectValueConversion.)
Public Extension MethodAsChar (Defined by ObjectValueConversion.)
Public Extension MethodAsDateTime Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsDateTime(DateTime, ConvertErrorHandling)Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsDecimal (Defined by ObjectValueConversion.)
Public Extension MethodAsDouble (Defined by ObjectValueConversion.)
Public Extension MethodAsEnum TEnum  (Defined by ObjectValueConversion.)
Public Extension MethodAsFloat (Defined by ObjectValueConversion.)
Public Extension MethodAsGDID Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsGDID(GDID, ConvertErrorHandling)Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsGDIDSymbol Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsGDIDSymbol(GDIDSymbol, ConvertErrorHandling)Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsGUID (Defined by ObjectValueConversion.)
Public Extension MethodAsInt (Defined by ObjectValueConversion.)
Public Extension MethodAsJSONConfig (Defined by ObjectValueConversion.)
Public Extension MethodAsLaconicConfig (Defined by ObjectValueConversion.)
Public Extension MethodAsLong (Defined by ObjectValueConversion.)
Public Extension MethodAsNonNullOrEmptyString (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableBool (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableByte (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableChar (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableDateTime (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableDecimal (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableDouble (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableEnum TEnum  (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableFloat (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableGDID (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableGDIDSymbol (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableGUID (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableInt (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableLong (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableSByte (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableShort (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableTimeSpan (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableUInt (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableULong (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableUShort (Defined by ObjectValueConversion.)
Public Extension MethodAsSByte (Defined by ObjectValueConversion.)
Public Extension MethodAsShort (Defined by ObjectValueConversion.)
Public Extension MethodAsString (Defined by ObjectValueConversion.)
Public Extension MethodAsTimeSpan Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsTimeSpan(TimeSpan, ConvertErrorHandling)Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsUInt (Defined by ObjectValueConversion.)
Public Extension MethodAsULong (Defined by ObjectValueConversion.)
Public Extension MethodAsUri (Defined by ObjectValueConversion.)
Public Extension MethodAsUShort (Defined by ObjectValueConversion.)
Public Extension MethodAsXMLConfig (Defined by ObjectValueConversion.)
Public Extension MethodToErlObject Overloaded.
Try to convert .NET native object type to corresponding Erlang term. Throw exception if conversion is not possible
(Defined by ErlObject.)
Public Extension MethodToErlObject(ErlTypeOrder, Boolean)Overloaded.
Try to convert .NET native object type to corresponding Erlang term of given type. Throw exception if conversion is not possible
(Defined by ErlObject.)
Public Extension MethodToJSON(JSONWritingOptions)Overloaded.
Serializes object into JSON string
(Defined by JSONExtensions.)
Public Extension MethodToJSON(TextWriter, JSONWritingOptions)Overloaded.
Serializes object into JSON format using provided TextWriter
(Defined by JSONExtensions.)
Public Extension MethodToJSON(Stream, JSONWritingOptions, Encoding)Overloaded.
Serializes object into JSON format using provided stream and optional encoding
(Defined by JSONExtensions.)
Back to Top
Fields

  NameDescription
Public fieldStatic memberCONFIG_FREE_CHUNK_SIZES_ATTR
Public fieldStatic memberCONFIG_PILE_SECTION
Public fieldStatic memberFREE_CHUNK_SIZE_MIN
Public fieldStatic memberFREE_LST_COUNT
Public fieldStatic memberFREE_LST_SIZE_MAX
Public fieldStatic memberFREE_LST_SIZE_MIN
Public fieldStatic memberSEG_SIZE_DFLT
Public fieldStatic memberSEG_SIZE_MAX
Public fieldStatic memberSEG_SIZE_MIN
Back to Top
Properties

  NameDescription
Public propertyAllocatedMemoryBytes
Returns the number of bytes allocated by this pile from the system memory heap. As pile pre-allocates memory in segments, it is absolutely normal to have this property return 100s of megabytes even when pile is almost empty. This property may return close to all physical memory available
Public propertyAllocMode
Defines modes of allocation: space/time tradeoff
Public propertyApplicationDontAutoStartService
Checks whether the class is decorated with ApplicationDontAutoStartServiceAttribute
(Inherited from Service.)
Public propertyComponentCommonName
Returns the common name used to identify the component, for example "Glue" for various IGlue implementations. This name is searched-by some management tools that allow to find component by this name that does not change between application restarts like ComponentSID does. Subordinate (non-root) components return null
(Inherited from ApplicationComponent.)
Public propertyComponentDirector (Inherited from Service TDirector .)
Public propertyComponentSID
Returns process/instance unique app component system id
(Inherited from ApplicationComponent.)
Public propertyComponentStartTime
Returns local computer time of component start (not from application container time)
(Inherited from ApplicationComponent.)
Public propertyDisposed
Indicates whether this object was already disposed - the Dispose() has finished
(Inherited from DisposableObject.)
Public propertyDisposeStarted
Indicates whether this object Dispose() has been called and dispose started but not finished yet
(Inherited from DisposableObject.)
Public propertyExternalParameters
Returns named parameters that can be used to control this component
(Inherited from ServiceWithInstrumentationBase TDirector .)
Public propertyFreeChunkSizes
Sets the sizes of free chunks that free lists group by. Must be an array of FREE_LST_COUNT(16) of consequitively increasing integers
Public propertyFreeListSize
Determines the size of free chunk list. Every segment has FREE_LST_COUNT=16 lists each of this size. This property may only be set on an inactive service instance
Public propertyInstrumentationEnabled
Implements IInstrumentable
(Overrides ServiceWithInstrumentationBase TDirector  InstrumentationEnabled.)
Public propertyLocality
Returns PileLocality.Local
Public propertyLocalizedTime
Returns current time localized per TimeLocation
(Inherited from Service.)
Public propertyMaxMemoryLimit
Imposes a limit on maximum number of bytes that a pile can allocate of the system heap. The default value of 0 means no limit, meaning - the pile will keep allocating objects until the system allows. The value may not be less than minimum 1 seg size (64 mb). May set on an active instance, however no existing objects will be removed if the limit is exceeded
Public propertyMaxSegmentLimit
Gets the maximum count of segments tha this pile can have. The property is not thread-safe for set and can only be set if pile is inactive. The value of zero means no limit
Public propertyMemoryCapacityBytes
Returns an approximate capacity of free memory that the system has left
Public propertyName
Provides textual name for the service
(Inherited from Service.)
Public propertyNodeCount
Returns 1 as this pile is not distributed
Public propertyObjectCount
Returns the total number of objects allocated at this point in time
Public propertyOverheadBytes
Returns the number of extra bytes used by pile metadata currently occupied by object stored in this pile
Public propertyPersistence
Returns PilePersistence.Memory
Public propertyRunning
Returns true when service is active or about to become active. Check in service implementation loops/threads/tasks
(Inherited from Service.)
Public propertySegmentCount
Returns the total number of segments allocated at this point in time
Public propertySegmentSize
Gets the maximum segment size in bytes, up to (2^31)-1 The property is not thread-safe for set and can only be set if pile is inactive
Public propertySegmentTotalCount
Returns the total number of total segments - allocated and empty at this point in time. This number is greater or equal to SegmentCount
Public propertyStatus
Current service status
(Inherited from Service.)
Public propertySupportsObjectExpiration
Returns false
Public propertySweepExpiredObjects
Returns false and does nothing on set in this implementation if they are set
Public propertyTimeLocation
Returns time location of this LocalizedTimeProvider implementation
(Inherited from Service.)
Public propertyUtilizedBytes
Returns the number of bytes currently occupied by object stored in this pile. This number is always less than AllocatedMemoryBytes
Back to Top
See Also