Sending Variable Length Messages Using TIBCO Rendezvous

You can use TIBCO Rendezvous to send variable length messages.

The following steps explain how to set up Substation ES to send variable length messages using TIBCO Rendezvous.

Examples of these definitions are in the IVP Configuration file and are used by the DPL-BYTES recipes. The following recipe example shows an example of the Bytes message or the Map message with the DATA field as input and a variable bytes message as output with a max length of 16384.

Procedure

  1. Define a message with only one field, which is OPAQUE.
    Command ===>                                                   Scroll =
    (Types: DAT, OPA, MSG, STR, BOL, I8, U8, I16, U16, I32, U32, I64, U64,
            F32, F64, POR, IPA)
    Message Id   ===> MSG-IO-OPAQUE
    
    Sel Type Dec  Id   Seq  Name
    -   —--   -   —--  ---- -----------------------------------------------
        OPA   0    0   0     DATA
              0    0   0
  2. In Buffer Definition, verify that the buffer offset is set to zero (0).
    -------------------------- Define Fields in a Buffer ------- Row 1 to 18 of 21
    Command ===>                                                   Scroll ==> CSR
      (Types are Str, Text, Pdec, Updec, Zdec, Uzdec, Ubin, Bin, Float, Opa)
      Buffer Id ===> BUF-BYTES
      Maximum Size ===> 0
    
    Sel  Type  Start   Len    Dec Name
    -   ------ ------- ------- - -----------------------------------------------
        OPA    0       16384   0  IVP-OPAQUE
               0       0       0
  3. In Buffer Field Details, set the decimal place to 1.
    ---------------------------- Buffer Field Details ---
    Command ===>
    
              Field Name ===> IVP-OPAQUE
    
              Field Type ===> OPA     (STR, ... 
            Buffer Start ===> 0
           Buffer Length ===> 16384
          Decimal Places ===> 1 (0-6)
           Pad Character ===>   or hex(     )
           Separate Sign ===> N (N/Y)
            Leading Sign ===> N (N/Y)
           Justify Right ===> N (Y/N)
           Initial Value ===>
    Initial Value Length ===> 0
  4. Configure the conversion rule so that only one output field exists and the SZ field is set to M:
    1. Add only one field in the output conversion rule.
      ------------------ Define Msg-Field / Buffer-Field Conversion - Row 1 to 1 of 1
      Command ===>                                                    Scroll ==> CSR
      
        Conversion Id   ===> CVR-IO-BYTE
        Using Message   ...: MSG-JMS-BYTE
        Using Buffer    ...: BUF-BYTES
        Max Buffer Size ===> 0
      
      Trunc Reqd  BfFld Msg Field                | Num Buffer Field
        -    -    ----- ------------------------ | ---- -----------------------------
        Y    Y    1     DATA                     | 1   IVP-OPAQUE
    2. Set the conversion rule to the SZ field to M.
      ------------------------------ Conversion Rules ------------ Row 5 to 13 of 13
      Command ===>                                                   Scroll ==> CSR
       (Use ADD command to create a new conversion rule)
       (Use line cmd 'M' to relate Message fields to conversion rules)
                Max    EMS  S
      Sel Flds Bufsz   Type Z  Conversion Id    Message Id       Buffer Id
      - ---- ------- ---- - ---------------- ---------------- ---------------
             1 0         B  M  CVR-IO-BYTE      MSG-JMS-BYTE     BUF-BYTES