Root / Assembly / ARCCore / Class / StreamProcessor / _Member

PRich

_Member

KeyValue
AddOrRemoveOutgoingConnectionsNot relevant for CoreDB.

Note how this method supports live updating of connecting instructions over the PropertyStream because it can be called at regular intervals.
(TODO: Live updating is not implemented from 'outside' as of Mar 2020).
Should be called after -Initialize.

For each outgoing connection not found in list of connection instructions, add it to list. For each active (outgoing) connection not on list of outgoing connections, close it.

Note how the actual objects are shared with the 'outside' after the call, meaning that changes to for instance the subscripton, could be immediately reflected on the 'inside' (here). In practical terms this is however a bit difficult to achieve so in practise. A work-around could be (when you want to change some parameters for a specific connection), that you set the connection Invalid, call this metod, do the changes, set it valid-again (by setting Invalid to default(DateTime), and call this method a final time.
TODO: Find some better way than description above.

Description, MethodName, MethodSignature, ReflectedType
AddTimestampToPropertyStreamAsRequiredAdds Timestamp as specified by TimestampResolution.

Note how format reflects resolution, for instance if resolution is in whole minutes, then timestamp will be in format yyyy-MM-dd HH:mm

Description, MethodName, MethodSignature, ReflectedType
InitializeIf OutsideLocalReceiver has been set then this method will read all local storage files and send to this.
This method may therefore take some time.

Description, MethodName, MethodSignature, ReflectedType
OutsideLocalReceiverThe outside (in the sense outside of this class) local mechanism which receives all PropertyStreamLine registered by this class.
(except changes with HasLocalOrigin.)

The 'outside' implementation will typically store data to a PRich instance through -ParseAndStore-.

Set this method when you want an always-up-to-date in-memory object collection of your data.
Most relevant for Client.
Also relevant for ArmDB (see AdHocQuery).

If this method is set, then incoming data will be stored both to disk (unless DoNotStoreLocally is TRUE) and sent to this method.
Also, at application startup (-Start-), all data from disk will be sent to this method.

Rationale for not distributing HasLocalOrigin via this method:
If local originated content also was sent to this method, it would most probably have been sent twice, after a round-trip to CoreDB and back, resulting in duplicate updates to the (presumed PRich) outside's storage. The 'outside' can instead choose whether to update its presumed PRich storage immediately or not, by just calling this method itself whenever it also calls ReceiveAndDistribute

Description, LongDescription, MethodName, MethodSignature, ReflectedType
ReadStorageFileTODO: Clean up code here and explain better

Description, MethodName, MethodSignature, ReflectedType
ReceiveAndDistributeProcess all messages in receive queue.
1) Adds the given message to the receive queue and
2) Empties the receive queue asynchronously.
3) Send data to OutsideLocalReceiver (if defined).
4) Feed connections asynchronously with new data (including connections catching up with others).
Emptying queue and feeding connections is done by ensuring that there is a thread running that continously processes messages until the queue is empty / all connections are fed (not how this thread exists as soon as the queue is empty)

Description, LongDescription, MethodName, MethodSignature, ReflectedType
SendFromLocalOriginDistributes an in-application generated property to the stream.
Called from 'outside'.

Note how will not call back to OutsideLocalReceiver if that one is defined because data is marked as HasLocalOrigin.


Description, MethodName, MethodSignature, ReflectedType
ToStringTODO: Decide on what we actually want with ToString for this class.
TODO: For instance, a list of id-related fields would be useful, or tagging av properties which kind of define the entity

Description, MethodName, MethodSignature, ReflectedType

8 items


Generated 2020-10-13 11:11:05.448 UTC