[This is preliminary documentation and is subject to change.]
The DefaultPile type exposes the following members.Constructors
Name | Description | |
---|---|---|
![]() | DefaultPile(String) | Initializes a new instance of the DefaultPile class |
![]() | DefaultPile(Object, String) | Initializes a new instance of the DefaultPile class |
Methods
Name | Description | |
---|---|---|
![]() | ____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.) |
![]() | __setComponentDirector | (Inherited from ApplicationComponent.) |
![]() | AbortStart |
Allows to abort unsuccessful DoStart() overridden implementation.
This method must be called from within DoStart()
(Inherited from Service.) |
![]() | AcceptManagerVisit |
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.) |
![]() | CheckForCompleteStop |
Non-blocking call that returns true when the service instance has completely stopped after SignalStop()
(Inherited from Service.) |
![]() | CheckServiceActive |
Checks for service activity and throws exception if service is not in ControlStatus.Active state
(Inherited from Service.) |
![]() | CheckServiceActiveOrStarting |
Checks for service activity and throws exception if service is not in ControlStatus.Active state
(Inherited from Service.) |
![]() | CheckServiceInactive |
Checks for service inactivity and throws exception if service is running (started, starting or stopping)
(Inherited from Service.) |
![]() | Compact | |
![]() | Configure |
Configures service from configuration node (and possibly it's sub-nodes)
(Inherited from Service.) |
![]() | Crawl |
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
|
![]() | Delete |
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
|
![]() | Destructor | (Overrides Service Destructor .) |
![]() | Dispose |
Deterministically disposes object. DO NOT OVERRIDE this method, override Destructor() instead
(Inherited from DisposableObject.) |
![]() | DoAcceptManagerVisit | (Overrides Service DoAcceptManagerVisit(Object, DateTime).) |
![]() | DoCheckForCompleteStop |
Provides implementation for checking whether the service has completely stopped
(Inherited from Service.) |
![]() | DoConfigure | (Overrides Service DoConfigure(IConfigSectionNode).) |
![]() | DoSignalStop |
Provides implementation that signals service to stop. This is expected not to block
(Inherited from Service.) |
![]() | DoStart | (Overrides Service DoStart .) |
![]() | DoWaitForCompleteStop | (Overrides Service DoWaitForCompleteStop .) |
![]() | EnsureObjectNotDisposed |
Checks to see whether object dispose started or has already been disposed and throws an exception if Dispose() was called
(Inherited from DisposableObject.) |
![]() | ![]() | Determines whether the specified object is equal to the current object. (Inherited from ![]() |
![]() | ExternalGetParameter |
Gets external parameter value returning true if parameter was found
(Inherited from ServiceWithInstrumentationBase TDirector .) |
![]() | ExternalParametersForGroups |
Returns named parameters that can be used to control this component
(Inherited from ServiceWithInstrumentationBase TDirector .) |
![]() | ExternalSetParameter |
Sets external parameter value returning true if parameter was found and set
(Inherited from ServiceWithInstrumentationBase TDirector .) |
![]() | Finalize | (Inherited from DisposableObject.) |
![]() | Get |
Returns a CLR object by its pointer or throws access violation if pointer is invalid
|
![]() | ![]() | Serves as the default hash function. (Inherited from ![]() |
![]() | GetRawBuffer |
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
|
![]() | ![]() | Gets the (Inherited from ![]() ![]() |
![]() | LocalizedTimeToUniversalTime |
Converts localized time to UTC time as of TimeLocation property
(Inherited from Service.) |
![]() | ![]() | Creates a shallow copy of the current (Inherited from ![]() ![]() |
![]() | Purge | |
![]() | Put |
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
|
![]() | Rejuvenate | |
![]() | SignalStop |
Non-blocking call that initiates the stopping of the service
(Inherited from Service.) |
![]() | SizeOf | |
![]() | Start |
Blocking call that starts the service instance
(Inherited from Service.) |
![]() | StartByApplication |
Blocking call that starts the service instance
(Inherited from Service.) |
![]() | ![]() | Returns a string that represents the current object. (Inherited from ![]() |
![]() | UniversalTimeToLocalizedTime |
Converts universal time to local time as of TimeLocation property
(Inherited from Service.) |
![]() | WaitForCompleteStop |
Blocks execution of current thread until this service has completely stopped
(Inherited from Service.) |
Extension Methods
Fields
Name | Description | |
---|---|---|
![]() ![]() | CONFIG_FREE_CHUNK_SIZES_ATTR | |
![]() ![]() | CONFIG_PILE_SECTION | |
![]() ![]() | FREE_CHUNK_SIZE_MIN | |
![]() ![]() | FREE_LST_COUNT | |
![]() ![]() | FREE_LST_SIZE_MAX | |
![]() ![]() | FREE_LST_SIZE_MIN | |
![]() ![]() | SEG_SIZE_DFLT | |
![]() ![]() | SEG_SIZE_MAX | |
![]() ![]() | SEG_SIZE_MIN |
Properties
Name | Description | |
---|---|---|
![]() | AllocatedMemoryBytes |
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
|
![]() | AllocMode |
Defines modes of allocation: space/time tradeoff
|
![]() | ApplicationDontAutoStartService |
Checks whether the class is decorated with ApplicationDontAutoStartServiceAttribute
(Inherited from Service.) |
![]() | ComponentCommonName |
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.) |
![]() | ComponentDirector | (Inherited from Service TDirector .) |
![]() | ComponentSID |
Returns process/instance unique app component system id
(Inherited from ApplicationComponent.) |
![]() | ComponentStartTime |
Returns local computer time of component start (not from application container time)
(Inherited from ApplicationComponent.) |
![]() | Disposed |
Indicates whether this object was already disposed - the Dispose() has finished
(Inherited from DisposableObject.) |
![]() | DisposeStarted |
Indicates whether this object Dispose() has been called and dispose started but not finished yet
(Inherited from DisposableObject.) |
![]() | ExternalParameters |
Returns named parameters that can be used to control this component
(Inherited from ServiceWithInstrumentationBase TDirector .) |
![]() | FreeChunkSizes |
Sets the sizes of free chunks that free lists group by.
Must be an array of FREE_LST_COUNT(16) of consequitively increasing integers
|
![]() | FreeListSize |
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
|
![]() | InstrumentationEnabled |
Implements IInstrumentable
(Overrides ServiceWithInstrumentationBase TDirector InstrumentationEnabled.) |
![]() | Locality |
Returns PileLocality.Local
|
![]() | LocalizedTime |
Returns current time localized per TimeLocation
(Inherited from Service.) |
![]() | MaxMemoryLimit |
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
|
![]() | MaxSegmentLimit |
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
|
![]() | MemoryCapacityBytes |
Returns an approximate capacity of free memory that the system has left
|
![]() | Name |
Provides textual name for the service
(Inherited from Service.) |
![]() | NodeCount |
Returns 1 as this pile is not distributed
|
![]() | ObjectCount |
Returns the total number of objects allocated at this point in time
|
![]() | OverheadBytes |
Returns the number of extra bytes used by pile metadata currently occupied by object stored in this pile
|
![]() | Persistence |
Returns PilePersistence.Memory
|
![]() | Running |
Returns true when service is active or about to become active.
Check in service implementation loops/threads/tasks
(Inherited from Service.) |
![]() | SegmentCount |
Returns the total number of segments allocated at this point in time
|
![]() | SegmentSize |
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
|
![]() | SegmentTotalCount |
Returns the total number of total segments - allocated and empty at this point in time.
This number is greater or equal to SegmentCount
|
![]() | Status |
Current service status
(Inherited from Service.) |
![]() | SupportsObjectExpiration |
Returns false
|
![]() | SweepExpiredObjects |
Returns false and does nothing on set in this implementation
if they are set
|
![]() | TimeLocation |
Returns time location of this LocalizedTimeProvider implementation
(Inherited from Service.) |
![]() | UtilizedBytes |
Returns the number of bytes currently occupied by object stored in this pile.
This number is always less than AllocatedMemoryBytes
|
See Also