TSM Members
The TSM type exposes the following members.
Constructors
Name | Description | |
---|---|---|
TSM()()()() |
Creates a new empty TSM - ORG and SID will NOT be set and therefore this is the fastest way to create a TSM (used by the Serializer)
|
|
TSM(String, String) |
Creates a new TSM with a given Engine and Command Text
|
|
TSM(String, String, String) |
Creates a new TSM with a given Engine and Command Text and Payload
|
|
TSM(String, String, String, Int32) |
Creates a new TSM with a given Engine and Command Localizable Text and Payload
|
|
TSM(String, String, eMsgLevel, String) |
Creates a new TSM with a given Engine and Message Text, Message Level and Payload
ATTENTION: Only use this Constructor for WriteToLog() entries.
ATTENTION: This constructor does NOT set the SID by default to avoid performance hit for SID creation
To change this behavior you have to set "DisableFastTSMs=true" in the App.config
|
|
TSM(String, String, eMsgLevel, String, Int32) |
Creates a new TSM with a given Engine and Command Text and Payload
|
|
TSM(String, String, eMsgLevel, DateTimeOffset, String) |
Creates a new TSM with a given Engine and Command Text and Payload
|
|
TSM(String, String, eMsgLevel) |
Creates a new TSM with a given Engine, Message Text and Message Level.
ATTENTION: Only use this Constructor for WriteToLog() entries.
ATTENTION: This constructor does NOT set the SID by default to avoid performance hit for SID creation
To change this behavior you have to set "DisableFastTSMs=true" in the App.config
|
Methods
Name | Description | |
---|---|---|
Acknowledged |
Probes if this flag is set
|
|
AddCosting |
Adds an encrypted cost-ticket to the current message to the CST parameter
|
|
AddHopToOrigin |
Add the current station DeviceID to the list of Originators
|
|
AddScopeIDFromTSM |
Extracts the Scrambed ScopeID from a message and creates Topic extension
|
|
Clone |
Make a deep clone of the Message
|
|
DoesORGContain |
Checks if the given Originator DeviceID is in the list of Origins
|
|
DoesORGContainAny |
Checks if a ; separated list of IDs is found in the Originators of this message.
Only if ALL pIDs are found in the ORG, the method will return true
|
|
DoesORGContainLocalHost |
True if the Originator was the local machine
|
|
DoNotChunk |
If true, the telegram must not be chunked
|
|
DoNotRelay |
Probes if this flag is set
|
|
EncryptPLS |
Call this to Tell the C-DEngine to Encrypt the PLS automatically
|
|
Equals(System.Object) | (Inherited from Object.) | |
Finalize | (Inherited from Object.) | |
GetHash()()()() |
Calculates a hash integer that defines a unique hash for the message
Only LVL, ENG, the Originator and the First parameter of the TXT will be taken in account.
BEWARE: there are rare occasions where two messages are considered equal although they are not. Your code should be fault tolerant to these conditions
|
|
GetHash(String) |
Calculates a hash integer that defines a unique hash for the message
Only LVL, ENG, the Originator, OWN and the First parameter of the TXT will be taken in account.
BEWARE: there are rare occasions where two messages are considered equal although they are not. Your code should be fault tolerant to these conditions
The Salt can be use to add a random or other string-source to the Hash
|
|
GetHashCode | (Inherited from Object.) | |
GetLastRelay |
Gets the DeviceID of the last known Relay forwarding this message
|
|
GetNextNode |
NEW in V4: Returns the next node in GRO to optimize Route traffic
|
|
GetNextSerial |
Increase the FID Serial Number by one
|
|
GetOriginator()()()() |
Gets the first initial Originator of the message
|
|
GetOriginator(String) |
Gets the first initial Originator from an ORG string
|
|
GetOriginatorSecurityProxy |
This function will return the first NodeID in the TSM that matches a Relay. Browsers do not have trust but the first-node a browser is conencted to is the browsers security proxy
The function will return the Originator if no proxy was found
|
|
GetOriginatorThing |
Gets the initial Originating thing of the message (commonly used for replying to the originating thing)
|
|
GetTotalCosts |
Returns the total costs of the Message in form of a TSMTotalCost receipt
|
|
GetType | (Inherited from Object.) | |
HobCount |
Returns the amount of hobs this message was relayed through
|
|
IsFirstNode()()()() |
Returns true if this message came from the FirstNode
RETIRED: Use with bool
|
|
IsFirstNode(Boolean) |
Returns true if this message came from the FirstNode
|
|
IsPLSEncrypted |
Probe if the PLS is encrypted
|
|
L |
A Macro testing the LVL of a message
If the pLogLevel is greater or equal than the DebugLevel, the macro return true
|
|
MemberwiseClone | (Inherited from Object.) | |
MsgBody |
Returns the TSM Body (TXT and PLS)
|
|
MsgHeader |
Returns the TSM Header information
|
|
NoDuplicates |
Probes if this flag is set
|
|
NotToSendAgain |
Probes if this flag is set
|
|
SendPulse |
Probes if this flag is set
|
|
SetAcknowledged |
Similar to the WasProcessed Flag this is for custom use only
|
|
SetDoNotRelay |
If Set to True, the message will not be routed via the Cloud
Use this for local intranet messages only
|
|
SetNodeScope |
Add the current NodeScope to the TSM. If the node is unscoped "" will be set
|
|
SetNoDuplicates |
If set to true, older messages in the SenderQueue will be removed and only the newer one will be sent.
This flag is working the oposite as NotToSendAgain.
Use this for tiny fast telegrams that occur very often
|
|
SetNotToChunk |
Set to tell the Queue not to chunk this telegram
|
|
SetNotToSendAgain |
If Set to true, any older package with the same HashID will be sent and the newer one will be ignored
This flag is working the oposite as NoDuplicates.
Use this for large Binary files or result sets.
|
|
SetOriginator |
Sets a new Originator to the message
|
|
SetOriginatorThing(TheThing) |
Sets the Originator Thing on a TSM
|
|
SetOriginatorThing(Guid) |
Sets a new Originator/Thing to the message
|
|
SetSendPulse |
If set to true, the sender expects a very fast response from the reveiver
|
|
SetToCloudOnly |
If set to true, this message will only be sent via the cloud. Use this for system messages that only need to be sent to clients connected via the cloud
|
|
SetToNodesOnly |
Messages tagged with this flag will only be routed to nodes and not to services
|
|
SetToRelayOnly |
If set, the message will not be relayed beyond the first Relay node.
|
|
SetToServiceOnly |
Messages tagged with this flag will only be routed to a Service not to a Client or End Node
|
|
SetUnsubscribeAfterPublish |
If Set to True, the subscription will be removed after publication
This allows for Blitz Subscription and one-time-only subscriptions
Once original sender has received the publication, it sends out a global CDE-UNSUBSCRIBE to the message Topic
|
|
SetWasProcessed |
Set this flag if you want to make sure a message is not processed several times
The C-DEngine is not using this flag internally - its for custom purpose only
|
|
ToAllString |
Same as ToString just without the 3000 character limitation USE CAREFULLY! This can create huge memory allocation
|
|
ToCloudOnly |
Probes if this flag is set
|
|
ToNodesOnly |
Probes if this flag is set
|
|
ToRelayOnly |
Probes if this flag is set
|
|
ToServiceOnly |
Probes if this flag is set
|
|
ToString |
Returns a friendly representation of the TSM with 3000 characters max for PLS
|
|
UnsubscribeAfterPublish |
Probes if this flag is set
|
|
WasProcessed |
Probes if this flag is set
|
|
WasSentViaCloud |
Returns true if this message was sent via a Cloud Node
|
Fields
Name | Description | |
---|---|---|
CST |
Costing History of the Telegram
|
|
ENG |
Engine (Plugin-Service Class) name that owns this message
|
|
FID |
Serial Number of the Message.
Do NOT set! This is managed by the C-DEngine
|
|
FLG |
16 Flags for the message each bit has impact on how the message is transported or interpreted The default is zero (Off) on all flags.
|
|
GRO |
The GRO contains the reverse route back to the originator of a message. Nodes will try to send the message back along the route to the originator skipping other nodes in the mesh. If GRO is empty, the normal mesh publishing rules apply.
|
|
LVL |
Message Content Level (see eMsgLevels)
|
|
ORG |
List of Originators of the Message separated by ;
The first entry is always the "Birth" place or "Originator" of the message.
The first entry can also optionally include the identifier (cdeMID) of the originating thing, which can be used to send a reply to the originator via TheCommCore.PublishToOriginator.
The Last entry is always the "LastRelay" to transmit the message and is also seen as the "FirstNode" (from the point of view of the receiver)
Note: The ORG field should not be manipulated or parsed directly, but only through the *Originator* methods on the TSM class.
|
|
OWN |
The Thing Owner of the Message - should match the cdeO Meta Property
|
|
PLB |
Payload Binary of the Message. If PLB is NULL and PLS is set, the PLS will be compressed to binary and put in PLB for footprint reduction.
If PLB is not NULL and PLS is NULL the C-DEngine will assume that the PLB contains a compressed string and uncompresses PLB to PLS automatically during receiving.
If you want to send a custom PLB binary blob, set PLS to some description of the PLB content.
|
|
PLS |
String Payload of the Message. In oposite to the TXT this string has no character limit
|
|
QDX |
Queue Priority
The Lower the number the higher the priority of the telegram
Default is 5
QDX=0 will NOT be relayed via a cloud node and is reserved for real-time service-to-service communication between on-premise nodes
|
|
SEID |
Session ID corresponding to this message.
DO NOT SET! The C-DEngine is managing this value
This parameter is NEVER sent to a JSON/HTML5 client
|
|
SID |
Scrambled Scope ID of this message.
use TheCommonUtils.GetScrambledScopeID() to set this field
This parameter is NEVER sent to a JSON/HTML5 client
|
|
TIM |
Timestamp of the Message. Will be set to DateTimeOffset.Now on creation of the message but can be overwritten
|
|
TXT |
Text of the Message - used for Commands or other short message strings
Maximum length for transmission is 476 Characters!
|
|
UID |
User GUID of this message.
Can be used to validate messages on other nodes against centrally managed users
This parameter is NEVER sent to a JSON/HTML5 client
|