Old RT Lib for connectivity

I need to create a middleware that can be connected using the old RT library.
At this point it is connecting to trep, using the following config an an example.
*ipcRoute: triarch_sink ap-trep1A ap-trep1B
I tried simply adding my own IP of my application or localhost besides and removing trep hosts.
As I understood form digging the code, triarch_sink is required and is used for port resolution ?
I created a simple app just to act as a server to test connectivity. When starting the application, I get the following error:
ssl_errno = 6 on channel = -1
<src/ipc/sipcsrvr.c:1834>sipc46CBind() sipcHostByName() failed (11001)
sipc_errno = 2 sys_errno = 11001
file = src/ssl/edapi.c, line = 1576, Channel = -5
sslSetProperty: Bad Argument: OptionCode: 15. Channel does not exist.
ssl_errno = 6 on channel = -1
<src/ipc/sipcsrvr.c:1834>sipc46CBind() sipcHostByName() failed (11001)
sipc_errno = 2 sys_errno = 11001
file = src/ssl/edapi.c, line = 1576, Channel = -5
sslSetProperty: Bad Argument: OptionCode: 15. Channel does not exist.
I tried adding self signed cert for the server app, did not help.
Is this possible to do in a first place and how can I go about it?
Answers
-
Thank you for reaching out to us.
triarch_sink is an alias name for the TCP port listened on TREP servers. The default port is TCP/8101 and it must be defined in the services file (C:\Windows\System32\drivers\etc\services or /etc/services). For example:
distribution_ssl_sink 8101/tcp triarch_sink
SSL is this context should be the Source Sink Library (our legacy protocol). It is not Secure Socket Layer so it should not relate to a self signed certifate. Moreover, the Source Sink Library doesn't support Secure Socket Layer.
According to the description, you are creating a server application (a middleware) that can accept connections from the old SSL client applications. Please correct me if my understanding is wrong.
- What API or SDK are you using to create a middleware (server application)?
- Is the error log is from the server side or client side?
Typically, the sys_errno indicates the system error. If you are using a Windows machine, the error 11001 is a Winsock error, also known as a "Host not found" error.
0 -
Hi,
Thank you for your support.
I have followed your suggestion and checked the services file, no trairch_sink was mentioned. So I added the line and configured middleware to listen on 81010.
This has resolved the issue with "Host nof found" error. However their is another:```
ssl_errno = 43 on channel = 4
<src/ipc/sipcsrvr.c:1981> sipcConnected() client connect() failed(0)
sipc_errno = 1 sys_errno = 0
file = src/ssl/edapi.c, line = 592, Channel = 4
sslDispatchEvent: Bad Argument: Channel does not exist.
```
How do I specify the channel for this case?
Regarding you questions:
1. POC is Go since its faster to test our approached. The final product will be in Java. Will be using Websocket approach for connecting to Trep.func startMiddleWare() { log.Printf("[StartMiddleWare] Starting MiddleWare") listener, err := net.Listen("tcp", "127.0.0.1:"+middlewarePort) if err != nil { log.Printf(err.Error()) log.Fatalf("Error starting middleware: %v\n") } defer listener.Close() log.Printf("Middleware server listening on %s:%s\n", middlewareHost, middlewarePort) for { clientConn, err := listener.Accept() if err != nil { log.Printf("Error Accepting Connection: %v\n") continue } log.Printf("Accepted Connection from %s\n", clientConn.RemoteAddr()) go handleClient(clientConn) }}
2. This error log is from the application that uses RT library and ment to connect to middelware.
To give a perspective, we cant modify existing application that uses legacy RT library. Hence the middleware to intercept the traffic.0 -
Do you mean that the existing application that uses legacy RT library will directly connect to your middleware?
If yes, it is impossible. According to the log, the client uses the Souce Sink Library protocol which is the LSEG proprietary protocol. To support the Souce Sink Library protocol, you need to use our RFA 7.x APIs.
0 -
That was the aim, to have old C++ Application that uses legacy RT Lib connect to middleware instead of trep. I understand if its not possible to do so natively.
But if I use the RFA 7.x APIs, would it be possible than?
Otherwise will have to investigate alternative solution.0 -
Yes, you need a library that supports the SSL protocol (Source Sink Library). RFA 7.x supports the SSL protocol.
However, RFA7.x will be end-of-life on 28th Feb 2026. For more details on support, refer to PCN-206364.
0 -
Will there be something after RFA7.x ?
But this should give enough time for re-designing our system.Is it possible to provide an example in Java or C++ example ?
0 -
For the SSL protocol, we don't provide any SSL libraries after RFA 7.x.
The current APIs are Real-Time SDKs (EMA and ETA) which support the RSSL protocol.
The examples are in the RFA 7.x package.
0 -
So after RFA 7.x. the platform will be decommissioned / out of use ?
Is it possible to pin point exactly what I would need ? Any specific example that I can use for connectivity ?
0 -
Please check the PCN-206364.
Effective 28 February 2026, we will remove support for:
Real-Time Legacy API, RFA 7x (both 32-bit and 64-bit versions) and SFC
The OMM to Marketfeed (and Marketfeed to OMM) functionality of the Legacy Protocol Converter
Note: LPC will continue to support session management to provide cloud connectivity to RFA 8.x.
We will also remove Marketfeed and SSL from:
All versions of RTDS from Q4 2028 onwards
RTMDS from Q2 2027 onwards
Full Tick Edge devices from March 2026 (end of Q1 2026) onwardsFor RFA C++:
- The exanple for the client side is Legacy\Examples\RFASTTicker
- The example for the server sie is Legacy\Examples\SessionLayerThreadedExample
For RFA Java:
- com.reuters.rfa.example.session.mdsub
MDSubDemo demonstrates how to subscribe to one or more items using RFA's Market Data Subscription model. - com.reuters.rfa.example.framework.prov
Contains a framework for a publisher application.
The examples and documents are in the Legacy folder.
RFA is quite complex so please read the RFA developer guide in the Legacy folder. Therefore, you will know how to use RFA to develop applications.
0
Categories
- All Categories
- 3 Polls
- 6 AHS
- 36 Alpha
- 166 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 684 Datastream
- 1.4K DSS
- 615 Eikon COM
- 5.2K Eikon Data APIs
- 10 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 249 ETA
- 554 WebSocket API
- 37 FX Venues
- 14 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 23 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 275 Open PermID
- 44 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 22 RDMS
- 1.9K Refinitiv Data Platform
- 643 Refinitiv Data Platform Libraries
- 4 LSEG Due Diligence
- LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 26 DACS Station
- 121 Open DACS
- 1.1K RFA
- 104 UPA
- 192 TREP Infrastructure
- 228 TRKD
- 915 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 90 Workspace SDK
- 11 Element Framework
- 5 Grid
- 18 World-Check Data File
- 1 Yield Book Analytics
- 46 中文论坛