BLPAPI C++ 3.26.6
Loading...
Searching...
No Matches
blpapi_sessionoptions.h
Go to the documentation of this file.
1/* Copyright 2012. Bloomberg Finance L.P.
2 *
3 * Permission is hereby granted, free of charge, to any person obtaining a copy
4 * of this software and associated documentation files (the "Software"), to
5 * deal in the Software without restriction, including without limitation the
6 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7 * sell copies of the Software, and to permit persons to whom the Software is
8 * furnished to do so, subject to the following conditions: The above
9 * copyright notice and this permission notice shall be included in all copies
10 * or substantial portions of the Software.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
17 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
18 * IN THE SOFTWARE.
19 */
20
37
38#ifndef INCLUDED_BLPAPI_SESSIONOPTIONS
39#define INCLUDED_BLPAPI_SESSIONOPTIONS
40
84
85#ifndef INCLUDED_BLPAPI_CALL
86#include <blpapi_call.h>
87#endif
88
89#ifndef INCLUDED_BLPAPI_CORRELATIONID
91#endif
92
93#ifndef INCLUDED_BLPAPI_DEFS
94#include <blpapi_defs.h>
95#endif
96
97#ifndef INCLUDED_BLPAPI_EXCEPTION
98#include <blpapi_exception.h>
99#endif
100
101#ifndef INCLUDED_BLPAPI_STREAMPROXY
102#include <blpapi_streamproxy.h>
103#endif
104
105#ifndef INCLUDED_BLPAPI_TLSOPTIONS
106#include <blpapi_tlsoptions.h>
107#endif
108
109#ifndef INCLUDED_BLPAPI_TYPES
110#include <blpapi_types.h>
111#endif
112
113#include <blpapi_authoptions.h>
114#include <blpapi_error.h>
115#include <blpapi_socks5config.h>
116
117#include <stddef.h>
118
119#ifdef __cplusplus
120
121extern "C" {
122#endif
123
125
128
138BLPAPI_EXPORT
139blpapi_SessionOptions_t *blpapi_SessionOptions_create(void);
140
150BLPAPI_EXPORT
151blpapi_SessionOptions_t *blpapi_SessionOptions_duplicate(
152 const blpapi_SessionOptions_t *parameters);
153
163BLPAPI_EXPORT
164void blpapi_SessionOptions_copy(
165 blpapi_SessionOptions_t *lhs, const blpapi_SessionOptions_t *rhs);
166
174BLPAPI_EXPORT
175void blpapi_SessionOptions_destroy(blpapi_SessionOptions_t *parameters);
176
191BLPAPI_EXPORT
192int blpapi_SessionOptions_setServerHost(
193 blpapi_SessionOptions_t *parameters, const char *serverHost);
194
206BLPAPI_EXPORT
207int blpapi_SessionOptions_setServerPort(
208 blpapi_SessionOptions_t *parameters, unsigned short serverPort);
209
226BLPAPI_EXPORT
227int blpapi_SessionOptions_setServerAddress(blpapi_SessionOptions_t *parameters,
228 const char *serverHost,
229 unsigned short serverPort,
230 size_t index);
231
249BLPAPI_EXPORT
250int blpapi_SessionOptions_setServerAddressWithProxy(
251 blpapi_SessionOptions_t *parameters,
252 const char *serverHost,
253 unsigned short serverPort,
254 const blpapi_Socks5Config_t *socks5Config,
255 size_t index);
256
266BLPAPI_EXPORT
267int blpapi_SessionOptions_removeServerAddress(
268 blpapi_SessionOptions_t *parameters, size_t index);
269
282BLPAPI_EXPORT
283int blpapi_SessionOptions_setConnectTimeout(
284 blpapi_SessionOptions_t *parameters,
285 unsigned int timeoutInMilliseconds);
286
300BLPAPI_EXPORT
301int blpapi_SessionOptions_setDefaultServices(
302 blpapi_SessionOptions_t *parameters, const char *defaultServices);
303
318BLPAPI_EXPORT
319int blpapi_SessionOptions_setDefaultSubscriptionService(
320 blpapi_SessionOptions_t *parameters, const char *serviceIdentifier);
321
332BLPAPI_EXPORT
333void blpapi_SessionOptions_setDefaultTopicPrefix(
334 blpapi_SessionOptions_t *parameters, const char *prefix);
335
348BLPAPI_EXPORT
349void blpapi_SessionOptions_setAllowMultipleCorrelatorsPerMsg(
350 blpapi_SessionOptions_t *parameters,
351 int allowMultipleCorrelatorsPerMsg);
352
363BLPAPI_EXPORT
364void blpapi_SessionOptions_setClientMode(
365 blpapi_SessionOptions_t *parameters, int clientMode);
366
376BLPAPI_EXPORT
377void blpapi_SessionOptions_setMaxPendingRequests(
378 blpapi_SessionOptions_t *parameters, int maxPendingRequests);
379
392BLPAPI_EXPORT
393void blpapi_SessionOptions_setAutoRestartOnDisconnection(
394 blpapi_SessionOptions_t *parameters, int autoRestart);
395
408BLPAPI_EXPORT
409void blpapi_SessionOptions_setAutoRestart(
410 blpapi_SessionOptions_t *parameters, int autoRestart);
428BLPAPI_EXPORT
429int blpapi_SessionOptions_setSessionIdentityOptions(
430 blpapi_SessionOptions_t *parameters,
431 const blpapi_AuthOptions_t *authOptions,
432 blpapi_CorrelationId_t *cid);
433
444BLPAPI_EXPORT
445void blpapi_SessionOptions_setAuthenticationOptions(
446 blpapi_SessionOptions_t *parameters, const char *authOptions);
447
458BLPAPI_EXPORT
459void blpapi_SessionOptions_setNumStartAttempts(
460 blpapi_SessionOptions_t *parameters, int numStartAttempts);
461
471BLPAPI_EXPORT
472void blpapi_SessionOptions_setMaxEventQueueSize(
473 blpapi_SessionOptions_t *parameters, size_t maxEventQueueSize);
474
489BLPAPI_EXPORT
490int blpapi_SessionOptions_setSlowConsumerWarningHiWaterMark(
491 blpapi_SessionOptions_t *parameters, float hiWaterMark);
492
507BLPAPI_EXPORT
508int blpapi_SessionOptions_setSlowConsumerWarningLoWaterMark(
509 blpapi_SessionOptions_t *parameters, float loWaterMark);
510
526BLPAPI_EXPORT
527int blpapi_SessionOptions_setDefaultKeepAliveInactivityTime(
528 blpapi_SessionOptions_t *parameters, int inactivityMsecs);
529
545BLPAPI_EXPORT
546int blpapi_SessionOptions_setDefaultKeepAliveResponseTimeout(
547 blpapi_SessionOptions_t *parameters, int timeoutMsecs);
548
563BLPAPI_EXPORT
564int blpapi_SessionOptions_setKeepAliveEnabled(
565 blpapi_SessionOptions_t *parameters, int isEnabled);
566
577BLPAPI_EXPORT
578void blpapi_SessionOptions_setRecordSubscriptionDataReceiveTimes(
579 blpapi_SessionOptions_t *parameters, int shouldRecord);
580
593BLPAPI_EXPORT
594int blpapi_SessionOptions_setServiceCheckTimeout(
595 blpapi_SessionOptions_t *paramaters, int timeoutMsecs);
596
609BLPAPI_EXPORT
610int blpapi_SessionOptions_setServiceDownloadTimeout(
611 blpapi_SessionOptions_t *paramaters, int timeoutMsecs);
612
623BLPAPI_EXPORT
624void blpapi_SessionOptions_setTlsOptions(blpapi_SessionOptions_t *paramaters,
625 const blpapi_TlsOptions_t *tlsOptions);
626
638BLPAPI_EXPORT
639int blpapi_SessionOptions_setFlushPublishedEventsTimeout(
640 blpapi_SessionOptions_t *paramaters, int timeoutMsecs);
641
654BLPAPI_EXPORT
655int blpapi_SessionOptions_setBandwidthSaveModeDisabled(
656 blpapi_SessionOptions_t *parameters, int disableBandwidthSaveMode);
657
667BLPAPI_EXPORT
668const char *blpapi_SessionOptions_serverHost(
669 blpapi_SessionOptions_t *parameters);
670
678BLPAPI_EXPORT
679unsigned int blpapi_SessionOptions_serverPort(
680 blpapi_SessionOptions_t *parameters);
681
689BLPAPI_EXPORT
690int blpapi_SessionOptions_numServerAddresses(
691 blpapi_SessionOptions_t *parameters);
692
709BLPAPI_EXPORT
710int blpapi_SessionOptions_getServerAddress(blpapi_SessionOptions_t *parameters,
711 const char **serverHost,
712 unsigned short *serverPort,
713 size_t index);
714
738BLPAPI_EXPORT
739int blpapi_SessionOptions_getServerAddressWithProxy(
740 blpapi_SessionOptions_t *parameters,
741 const char **serverHost,
742 unsigned short *serverPort,
743 const char **socks5Host,
744 unsigned short *sock5Port,
745 size_t index);
746
754BLPAPI_EXPORT
755unsigned int blpapi_SessionOptions_connectTimeout(
756 blpapi_SessionOptions_t *parameters);
757
767BLPAPI_EXPORT
768const char *blpapi_SessionOptions_defaultServices(
769 blpapi_SessionOptions_t *parameters);
770
780BLPAPI_EXPORT
781const char *blpapi_SessionOptions_defaultSubscriptionService(
782 blpapi_SessionOptions_t *parameters);
783
793BLPAPI_EXPORT
794const char *blpapi_SessionOptions_defaultTopicPrefix(
795 blpapi_SessionOptions_t *parameters);
796
806BLPAPI_EXPORT
807int blpapi_SessionOptions_allowMultipleCorrelatorsPerMsg(
808 blpapi_SessionOptions_t *parameters);
809
818BLPAPI_EXPORT
819int blpapi_SessionOptions_clientMode(blpapi_SessionOptions_t *parameters);
820
828BLPAPI_EXPORT
829int blpapi_SessionOptions_maxPendingRequests(
830 blpapi_SessionOptions_t *parameters);
831
840BLPAPI_EXPORT
841int blpapi_SessionOptions_autoRestartOnDisconnection(
842 blpapi_SessionOptions_t *parameters);
843
855BLPAPI_EXPORT
856int blpapi_SessionOptions_autoRestart(blpapi_SessionOptions_t *parameters);
857
867BLPAPI_EXPORT
868const char *blpapi_SessionOptions_authenticationOptions(
869 blpapi_SessionOptions_t *parameters);
870
879BLPAPI_EXPORT
880int blpapi_SessionOptions_numStartAttempts(
881 blpapi_SessionOptions_t *parameters);
882
890BLPAPI_EXPORT
891size_t blpapi_SessionOptions_maxEventQueueSize(
892 blpapi_SessionOptions_t *parameters);
893
902BLPAPI_EXPORT
903float blpapi_SessionOptions_slowConsumerWarningHiWaterMark(
904 blpapi_SessionOptions_t *parameters);
905
914BLPAPI_EXPORT
915float blpapi_SessionOptions_slowConsumerWarningLoWaterMark(
916 blpapi_SessionOptions_t *parameters);
917
926BLPAPI_EXPORT
927int blpapi_SessionOptions_defaultKeepAliveInactivityTime(
928 blpapi_SessionOptions_t *parameters);
929
938BLPAPI_EXPORT
939int blpapi_SessionOptions_defaultKeepAliveResponseTimeout(
940 blpapi_SessionOptions_t *parameters);
941
950BLPAPI_EXPORT
951int blpapi_SessionOptions_keepAliveEnabled(
952 blpapi_SessionOptions_t *parameters);
953
962BLPAPI_EXPORT
963int blpapi_SessionOptions_recordSubscriptionDataReceiveTimes(
964 blpapi_SessionOptions_t *parameters);
965
974BLPAPI_EXPORT
975int blpapi_SessionOptions_serviceCheckTimeout(
976 blpapi_SessionOptions_t *parameters);
977
986BLPAPI_EXPORT
987int blpapi_SessionOptions_serviceDownloadTimeout(
988 blpapi_SessionOptions_t *parameters);
989
1008BLPAPI_EXPORT
1009int blpapi_SessionOptions_print(blpapi_SessionOptions_t *parameters,
1010 blpapi_StreamWriter_t streamWriter,
1011 void *stream,
1012 int indentLevel,
1013 int spacesPerLevel);
1014
1024BLPAPI_EXPORT
1025int blpapi_SessionOptions_flushPublishedEventsTimeout(
1026 blpapi_SessionOptions_t *parameters);
1027
1036BLPAPI_EXPORT
1037int blpapi_SessionOptions_bandwidthSaveModeDisabled(
1038 blpapi_SessionOptions_t *parameters);
1039
1053BLPAPI_EXPORT
1054int blpapi_SessionOptions_setApplicationIdentityKey(
1055 blpapi_SessionOptions_t *parameters,
1056 const char *applicationIdentityKey,
1057 size_t size);
1073BLPAPI_EXPORT
1074int blpapi_SessionOptions_applicationIdentityKey(
1075 const char **applicationIdentityKey,
1076 size_t *size,
1077 blpapi_SessionOptions_t *parameters);
1078
1093BLPAPI_EXPORT
1094int blpapi_SessionOptions_setSessionName(blpapi_SessionOptions_t *parameters,
1095 const char *sessionName,
1096 size_t size);
1097
1112BLPAPI_EXPORT
1113int blpapi_SessionOptions_sessionName(const char **sessionName,
1114 size_t *size,
1115 blpapi_SessionOptions_t *parameters);
1116
1119
1120#ifdef __cplusplus
1121}
1122
1123namespace BloombergLP {
1124namespace blpapi {
1131
1142
1143 blpapi_SessionOptions_t *d_handle_p;
1144
1145 public:
1146 /*
1147 * The possible options for how to connect to the API
1148 */
1149
1151 AUTO = BLPAPI_CLIENTMODE_AUTO,
1153
1154 DAPI = BLPAPI_CLIENTMODE_DAPI,
1156
1157 SAPI = BLPAPI_CLIENTMODE_SAPI
1159 };
1160
1165
1166 SessionOptions(const SessionOptions& original);
1170
1175
1176 // MANIPULATORS
1177
1183
1184 void setServerHost(const char *host);
1193
1194 void setServerPort(unsigned short port);
1200
1201 int setServerAddress(
1202 const char *serverHost, unsigned short serverPort, size_t index);
1210
1211 int setServerAddress(const char *serverHost,
1212 unsigned short serverPort,
1213 const Socks5Config& socks5Config,
1214 size_t index);
1222
1223 int removeServerAddress(size_t index);
1227
1228 void setConnectTimeout(unsigned int timeoutMilliSeconds);
1235
1236 void setDefaultServices(const char *defaultServices);
1242
1243 void setDefaultSubscriptionService(const char *serviceIdentifier);
1254
1255 void setDefaultTopicPrefix(const char *prefix);
1263
1277
1278 void setClientMode(int clientMode);
1286
1292
1294 const CorrelationId& correlationId = CorrelationId());
1316
1317 void setAuthenticationOptions(const char *authOptions);
1321
1328
1329 void setAutoRestartOnDisconnection(bool autoRestart);
1335
1336 void setMaxEventQueueSize(size_t eventQueueSize);
1344
1345 void setSlowConsumerWarningHiWaterMark(float hiWaterMark);
1358
1359 void setSlowConsumerWarningLoWaterMark(float loWaterMark);
1372
1373 void setDefaultKeepAliveInactivityTime(int inactivityMsecs);
1385
1386 void setDefaultKeepAliveResponseTimeout(int timeoutMsecs);
1398
1399 void setKeepAliveEnabled(bool isEnabled);
1410
1411 void setRecordSubscriptionDataReceiveTimes(bool shouldRecord);
1418
1419 void setServiceCheckTimeout(int timeoutMsecs);
1426
1427 void setServiceDownloadTimeout(int timeoutMsecs);
1434
1435 void setTlsOptions(const TlsOptions& tlsOptions);
1439
1440 void setFlushPublishedEventsTimeout(int timeoutMsecs);
1447
1448 void setBandwidthSaveModeDisabled(bool isDisabled);
1454
1455 void setApplicationIdentityKey(const std::string& applicationIdentityKey);
1460
1461 void setSessionName(const std::string& sessionName);
1468
1469 // ACCESSORS
1470 const char *serverHost() const;
1476
1477 unsigned short serverPort() const;
1483
1484 size_t numServerAddresses() const;
1488
1489 int getServerAddress(const char **serverHost,
1490 unsigned short *serverPort,
1491 size_t index) const;
1497
1498 int getServerAddress(const char **serverHost,
1499 unsigned short *serverPort,
1500 Socks5Config *socksConfig,
1501 size_t index) const;
1508
1509 unsigned int connectTimeout() const;
1514
1515 const char *defaultServices() const;
1519
1520 const char *defaultSubscriptionService() const;
1527
1528 const char *defaultTopicPrefix() const;
1534
1535 bool allowMultipleCorrelatorsPerMsg() const;
1540
1541 int clientMode() const;
1546
1547 int maxPendingRequests() const;
1552
1554 blpapi_SessionOptions_t *handle() const;
1559
1560 bool autoRestartOnDisconnection() const;
1564
1565 const char *authenticationOptions() const;
1569
1570 int numStartAttempts() const;
1575
1576 size_t maxEventQueueSize() const;
1581
1582 float slowConsumerWarningHiWaterMark() const;
1587
1588 float slowConsumerWarningLoWaterMark() const;
1593
1599
1605
1606 bool keepAliveEnabled() const;
1611
1618
1619 int serviceCheckTimeout() const;
1624
1625 int serviceDownloadTimeout() const;
1630
1631 int flushPublishedEventsTimeout() const;
1636
1637 bool bandwidthSaveModeDisabled() const;
1642
1643 std::string applicationIdentityKey();
1648
1649 std::string sessionName();
1653
1654 std::ostream& print(std::ostream& stream,
1655 int indentLevel = 0,
1656 int spacesPerLevel = 4) const;
1669};
1670
1673
1674// FREE OPERATORS
1675std::ostream& operator<<(
1676 std::ostream& stream, const SessionOptions& sessionOptions);
1688
1689// ============================================================================
1690// INLINE FUNCTION DEFINITIONS
1691// ============================================================================
1692
1693// --------------------
1694// class SessionOptions
1695// --------------------
1697{
1698 d_handle_p = blpapi_SessionOptions_create();
1699#if BLPAPI_COMPAT_33X
1700 blpapi_SessionOptions_setClientMode(
1701 d_handle_p, BLPAPI_CLIENTMODE_AUTO | BLPAPI_CLIENTMODE_COMPAT_33X);
1702#endif
1703}
1704
1706{
1707 d_handle_p = blpapi_SessionOptions_duplicate(options.handle());
1708}
1709
1711{
1712 blpapi_SessionOptions_destroy(d_handle_p);
1713}
1714
1716{
1717 blpapi_SessionOptions_copy(this->handle(), rhs.handle());
1718 return *this;
1719}
1720
1721inline void SessionOptions::setServerHost(const char *newServerHost)
1722{
1723 blpapi_SessionOptions_setServerHost(d_handle_p, newServerHost);
1724}
1725
1726inline void SessionOptions::setServerPort(unsigned short newServerPort)
1727{
1728 blpapi_SessionOptions_setServerPort(d_handle_p, newServerPort);
1729}
1730
1732 const char *serverHost, unsigned short serverPort, size_t index)
1733{
1734 return blpapi_SessionOptions_setServerAddress(
1735 d_handle_p, serverHost, serverPort, index);
1736}
1737
1739 unsigned short serverPort,
1740 const Socks5Config& socks5Config,
1741 size_t index)
1742{
1743 return BLPAPI_CALL(blpapi_SessionOptions_setServerAddressWithProxy)(
1744 d_handle_p, serverHost, serverPort, socks5Config.impl(), index);
1745}
1746
1748{
1749 return blpapi_SessionOptions_removeServerAddress(d_handle_p, index);
1750}
1751
1752inline void SessionOptions::setConnectTimeout(unsigned int timeoutMilliSeconds)
1753{
1754 ExceptionUtil::throwOnError(blpapi_SessionOptions_setConnectTimeout(
1755 d_handle_p, timeoutMilliSeconds));
1756}
1757
1758inline void SessionOptions::setDefaultServices(const char *newDefaultServices)
1759{
1760 blpapi_SessionOptions_setDefaultServices(d_handle_p, newDefaultServices);
1761}
1762
1764 const char *serviceIdentifier)
1765{
1766 blpapi_SessionOptions_setDefaultSubscriptionService(
1767 d_handle_p, serviceIdentifier);
1768}
1769
1770inline void SessionOptions::setDefaultTopicPrefix(const char *prefix)
1771{
1772 blpapi_SessionOptions_setDefaultTopicPrefix(d_handle_p, prefix);
1773}
1774
1776 bool newAllowMultipleCorrelatorsPerMsg)
1777{
1778 blpapi_SessionOptions_setAllowMultipleCorrelatorsPerMsg(
1779 d_handle_p, newAllowMultipleCorrelatorsPerMsg);
1780}
1781
1782inline void SessionOptions::setClientMode(int newClientMode)
1783{
1784#if BLPAPI_COMPAT_33X
1785 newClientMode |= BLPAPI_CLIENTMODE_COMPAT_33X;
1786#endif
1787
1788 blpapi_SessionOptions_setClientMode(d_handle_p, newClientMode);
1789}
1790
1791inline void SessionOptions::setMaxPendingRequests(int newMaxPendingRequests)
1792{
1793 blpapi_SessionOptions_setMaxPendingRequests(
1794 d_handle_p, newMaxPendingRequests);
1795}
1796
1798{
1799 blpapi_SessionOptions_setAutoRestartOnDisconnection(
1800 d_handle_p, autoRestart ? 1 : 0);
1801}
1802
1804 const AuthOptions& authOptions, const CorrelationId& cid)
1805{
1806 blpapi_CorrelationId_t cidHandle = cid.impl();
1807
1809 BLPAPI_CALL(blpapi_SessionOptions_setSessionIdentityOptions)(
1810 d_handle_p, authOptions.handle(), &cidHandle));
1811
1812 return CorrelationId(cidHandle);
1813}
1814
1815inline void SessionOptions::setAuthenticationOptions(const char *authOptions)
1816{
1817 blpapi_SessionOptions_setAuthenticationOptions(d_handle_p, authOptions);
1818}
1819
1820inline void SessionOptions::setNumStartAttempts(int newNumStartAttempts)
1821{
1822 blpapi_SessionOptions_setNumStartAttempts(d_handle_p, newNumStartAttempts);
1823}
1824
1825inline void SessionOptions::setMaxEventQueueSize(size_t eventQueueSize)
1826{
1827 BLPAPI_CALL_SESSIONOPTIONS_SETMAXEVENTQUEUESIZE(
1828 d_handle_p, eventQueueSize);
1829}
1830
1832 float hiWaterMark)
1833{
1835 BLPAPI_CALL_SESSIONOPTIONS_SETSLOWCONSUMERHIWATERMARK(
1836 d_handle_p, hiWaterMark));
1837}
1838
1840 float loWaterMark)
1841{
1843 BLPAPI_CALL_SESSIONOPTIONS_SETSLOWCONSUMERLOWATERMARK(
1844 d_handle_p, loWaterMark));
1845}
1846
1848 int inactivityTime)
1849{
1851 BLPAPI_CALL_SESSIONOPTIONS_SETDEFAULTKEEPALIVEINACTIVITYTIME(
1852 d_handle_p, inactivityTime));
1853}
1854
1856 int responseTimeout)
1857{
1859 BLPAPI_CALL_SESSIONOPTIONS_SETDEFAULTKEEPALIVERESPONSETIMEOUT(
1860 d_handle_p, responseTimeout));
1861}
1862
1863inline void SessionOptions::setKeepAliveEnabled(bool isEnabled)
1864{
1865 ExceptionUtil::throwOnError(BLPAPI_CALL_SESSIONOPTIONS_SETKEEPALIVEENABLED(
1866 d_handle_p, isEnabled));
1867}
1868
1870 bool shouldRecrod)
1871{
1872 BLPAPI_CALL_SESSIONOPTION_SETRECORDSUBSCRIPTIONDATARECEIVETIMES(
1873 d_handle_p, shouldRecrod);
1874}
1875
1876inline void SessionOptions::setServiceCheckTimeout(int timeoutMsecs)
1877{
1879 BLPAPI_CALL(blpapi_SessionOptions_setServiceCheckTimeout)(
1880 d_handle_p, timeoutMsecs));
1881}
1882
1884{
1886 BLPAPI_CALL(blpapi_SessionOptions_setServiceDownloadTimeout)(
1887 d_handle_p, timeoutMsecs));
1888}
1889
1890inline void SessionOptions::setTlsOptions(const TlsOptions& tlsOptions)
1891{
1892 BLPAPI_CALL(blpapi_SessionOptions_setTlsOptions)
1893 (d_handle_p, tlsOptions.handle());
1894}
1895
1897{
1899 BLPAPI_CALL(blpapi_SessionOptions_setFlushPublishedEventsTimeout)(
1900 d_handle_p, timeoutMsecs));
1901}
1902
1904{
1906 BLPAPI_CALL_SESSIONOPTIONS_SETBANDWIDTHSAVEMODEDISABLED(
1907 d_handle_p, isDisabled));
1908}
1909
1910inline const char *SessionOptions::serverHost() const
1911{
1912 return blpapi_SessionOptions_serverHost(d_handle_p);
1913}
1914
1915inline unsigned short SessionOptions::serverPort() const
1916{
1917 return static_cast<unsigned short>(
1918 blpapi_SessionOptions_serverPort(d_handle_p));
1919}
1920
1922{
1923 return static_cast<size_t>(
1924 blpapi_SessionOptions_numServerAddresses(d_handle_p));
1925}
1926
1927inline int SessionOptions::getServerAddress(const char **serverHostOut,
1928 unsigned short *serverPortOut,
1929 size_t index) const
1930{
1931 return blpapi_SessionOptions_getServerAddress(
1932 d_handle_p, serverHostOut, serverPortOut, index);
1933}
1934
1935inline int SessionOptions::getServerAddress(const char **serverHostOut,
1936 unsigned short *serverPortOut,
1937 Socks5Config *socksConfig,
1938 size_t index) const
1939{
1940 const char *socks5ConfigHost = 0;
1941 unsigned short socks5ConfigPort = 0;
1942 ExceptionUtil::throwOnError(BLPAPI_CALL(
1943 blpapi_SessionOptions_getServerAddressWithProxy)(d_handle_p,
1944 serverHostOut,
1945 serverPortOut,
1946 &socks5ConfigHost,
1947 &socks5ConfigPort,
1948 index));
1949
1950 if (socks5ConfigHost) {
1951 *socksConfig = Socks5Config(socks5ConfigHost, socks5ConfigPort);
1952 }
1953
1954 return 0;
1955}
1956
1957inline unsigned int SessionOptions::connectTimeout() const
1958{
1959 return blpapi_SessionOptions_connectTimeout(d_handle_p);
1960}
1961
1962inline const char *SessionOptions::defaultServices() const
1963{
1964 return blpapi_SessionOptions_defaultServices(d_handle_p);
1965}
1966
1968{
1969 return blpapi_SessionOptions_defaultSubscriptionService(d_handle_p);
1970}
1971
1972inline const char *SessionOptions::defaultTopicPrefix() const
1973{
1974 return blpapi_SessionOptions_defaultTopicPrefix(d_handle_p);
1975}
1976
1978{
1979 return blpapi_SessionOptions_allowMultipleCorrelatorsPerMsg(d_handle_p)
1980 ? true
1981 : false;
1982}
1983
1985{
1986 return blpapi_SessionOptions_clientMode(d_handle_p);
1987}
1988
1990{
1991 return blpapi_SessionOptions_maxPendingRequests(d_handle_p);
1992}
1993
1995{
1996 return blpapi_SessionOptions_autoRestartOnDisconnection(d_handle_p) != 0;
1997}
1998
2000{
2001 return blpapi_SessionOptions_authenticationOptions(d_handle_p);
2002}
2003
2005{
2006 return blpapi_SessionOptions_numStartAttempts(d_handle_p);
2007}
2008
2010{
2011 return BLPAPI_CALL_SESSIONOPTIONS_MAXEVENTQUEUESIZE(d_handle_p);
2012}
2013
2015{
2016 return BLPAPI_CALL_SESSIONOPTIONS_SLOWCONSUMERHIWATERMARK(d_handle_p);
2017}
2018
2020{
2021 return BLPAPI_CALL_SESSIONOPTIONS_SLOWCONSUMERLOWATERMARK(d_handle_p);
2022}
2023
2025{
2026 return BLPAPI_CALL_SESSIONOPTIONS_DEFAULTKEEPALIVEINACTIVITYTIME(
2027 d_handle_p);
2028}
2029
2031{
2032 return BLPAPI_CALL_SESSIONOPTIONS_DEFAULTKEEPALIVERESPONSETIMEOUT(
2033 d_handle_p);
2034}
2035
2037{
2038 return BLPAPI_CALL_SESSIONOPTIONS_KEEPALIVEENABLED(d_handle_p) != 0
2039 ? true
2040 : false;
2041}
2042
2044{
2045 return BLPAPI_CALL_SESSIONOPTION_RECORDSUBSCRIPTIONDATARECEIVETIMES(
2046 d_handle_p)
2047 ? true
2048 : false;
2049}
2050
2052{
2053 return BLPAPI_CALL(blpapi_SessionOptions_serviceCheckTimeout)(d_handle_p);
2054}
2055
2057{
2058 return BLPAPI_CALL(blpapi_SessionOptions_serviceDownloadTimeout)(
2059 d_handle_p);
2060}
2061
2063{
2064 return BLPAPI_CALL(blpapi_SessionOptions_flushPublishedEventsTimeout)(
2065 d_handle_p);
2066}
2067
2069{
2070 return BLPAPI_CALL_SESSIONOPTIONS_BANDWIDTHSAVEMODEDISABLED(d_handle_p)
2071 != 0
2072 ? true
2073 : false;
2074}
2075
2077 const std::string& applicationIdentityKey)
2078{
2079 ExceptionUtil::throwOnError(BLPAPI_CALL(
2080 blpapi_SessionOptions_setApplicationIdentityKey)(d_handle_p,
2082 static_cast<int>(applicationIdentityKey.size())));
2083}
2084
2086{
2087 const char *aik;
2088 size_t size;
2090 BLPAPI_CALL(blpapi_SessionOptions_applicationIdentityKey)(
2091 &aik, &size, d_handle_p));
2092 return std::string(aik, size);
2093}
2094
2095inline void SessionOptions::setSessionName(const std::string& sessionName)
2096{
2098 BLPAPI_CALL(blpapi_SessionOptions_setSessionName)(
2099 d_handle_p, sessionName.data(), sessionName.size()));
2100}
2101
2103{
2104 const char *sessionName = nullptr;
2105 size_t size = 0;
2106 ExceptionUtil::throwOnError(BLPAPI_CALL(blpapi_SessionOptions_sessionName)(
2107 &sessionName, &size, d_handle_p));
2108 return std::string(sessionName, size);
2109}
2110
2112inline blpapi_SessionOptions_t *SessionOptions::handle() const
2113{
2114 return d_handle_p;
2115}
2117
2118inline std::ostream& SessionOptions::print(
2119 std::ostream& stream, int indentLevel, int spacesPerLevel) const
2120{
2121 if (BLPAPI_CALL_AVAILABLE(blpapi_SessionOptions_print)) {
2122 BLPAPI_CALL(blpapi_SessionOptions_print)
2123 (d_handle_p,
2125 &stream,
2126 indentLevel,
2127 spacesPerLevel);
2128 }
2129 return stream;
2130}
2131
2132inline std::ostream& operator<<(
2133 std::ostream& stream, const SessionOptions& sessionOptions)
2134{
2135 return sessionOptions.print(stream, 0, -1);
2136}
2137
2138} // close namespace blpapi
2139} // close namespace BloombergLP
2140
2141#endif // #ifdef __cplusplus
2142#endif // #ifndef INCLUDED_BLPAPI_SESSIONOPTIONS
Provides configuration settings for authorization.
Provide functions for dispatchtbl.
Provide a key to identify individual subscriptions or requests.
Common definitions used by the library.
Provide a collection of errors that library can return.
Defines Exceptions that can be thrown by the blpapi library.
Provide description of Socks5 proxy.
A signature for callback on print and default C++ implementation.
Maintain client credentials and trust material.
Provide BLPAPI types.
Definition blpapi_authoptions.h:485
Definition blpapi_correlationid.h:306
static void throwOnError(int errorCode)
Definition blpapi_exception.h:556
Definition blpapi_sessionoptions.h:1141
std::string applicationIdentityKey()
Definition blpapi_sessionoptions.h:2085
size_t numServerAddresses() const
Definition blpapi_sessionoptions.h:1921
void setNumStartAttempts(int numStartAttempts)
Definition blpapi_sessionoptions.h:1820
bool autoRestartOnDisconnection() const
Definition blpapi_sessionoptions.h:1994
void setDefaultSubscriptionService(const char *serviceIdentifier)
Definition blpapi_sessionoptions.h:1763
void setDefaultServices(const char *defaultServices)
Definition blpapi_sessionoptions.h:1758
int numStartAttempts() const
Definition blpapi_sessionoptions.h:2004
int setServerAddress(const char *serverHost, unsigned short serverPort, size_t index)
Definition blpapi_sessionoptions.h:1731
void setFlushPublishedEventsTimeout(int timeoutMsecs)
Definition blpapi_sessionoptions.h:1896
int getServerAddress(const char **serverHost, unsigned short *serverPort, size_t index) const
Definition blpapi_sessionoptions.h:1927
void setMaxPendingRequests(int maxPendingRequests)
Definition blpapi_sessionoptions.h:1791
std::string sessionName()
Definition blpapi_sessionoptions.h:2102
int serviceCheckTimeout() const
Definition blpapi_sessionoptions.h:2051
bool allowMultipleCorrelatorsPerMsg() const
Definition blpapi_sessionoptions.h:1977
void setBandwidthSaveModeDisabled(bool isDisabled)
Definition blpapi_sessionoptions.h:1903
const char * defaultServices() const
Definition blpapi_sessionoptions.h:1962
void setDefaultKeepAliveInactivityTime(int inactivityMsecs)
Definition blpapi_sessionoptions.h:1847
SessionOptions & operator=(const SessionOptions &rhs)
Definition blpapi_sessionoptions.h:1715
void setAuthenticationOptions(const char *authOptions)
Definition blpapi_sessionoptions.h:1815
bool keepAliveEnabled() const
Definition blpapi_sessionoptions.h:2036
SessionOptions()
Definition blpapi_sessionoptions.h:1696
const char * serverHost() const
Definition blpapi_sessionoptions.h:1910
unsigned short serverPort() const
Definition blpapi_sessionoptions.h:1915
void setServiceCheckTimeout(int timeoutMsecs)
Definition blpapi_sessionoptions.h:1876
void setServerHost(const char *host)
Definition blpapi_sessionoptions.h:1721
float slowConsumerWarningHiWaterMark() const
Definition blpapi_sessionoptions.h:2014
~SessionOptions()
Definition blpapi_sessionoptions.h:1710
void setAutoRestartOnDisconnection(bool autoRestart)
Definition blpapi_sessionoptions.h:1797
void setTlsOptions(const TlsOptions &tlsOptions)
Definition blpapi_sessionoptions.h:1890
ClientMode
Definition blpapi_sessionoptions.h:1150
@ SAPI
Always connect to the server API.
Definition blpapi_sessionoptions.h:1157
@ DAPI
Always connect to the desktop API.
Definition blpapi_sessionoptions.h:1154
@ AUTO
Automatic (desktop if available otherwise server)
Definition blpapi_sessionoptions.h:1151
int maxPendingRequests() const
Definition blpapi_sessionoptions.h:1989
const char * defaultTopicPrefix() const
Definition blpapi_sessionoptions.h:1972
int removeServerAddress(size_t index)
Definition blpapi_sessionoptions.h:1747
void setRecordSubscriptionDataReceiveTimes(bool shouldRecord)
Definition blpapi_sessionoptions.h:1869
CorrelationId setSessionIdentityOptions(const AuthOptions &authOptions, const CorrelationId &correlationId=CorrelationId())
Definition blpapi_sessionoptions.h:1803
void setKeepAliveEnabled(bool isEnabled)
Definition blpapi_sessionoptions.h:1863
void setServerPort(unsigned short port)
Definition blpapi_sessionoptions.h:1726
bool bandwidthSaveModeDisabled() const
Definition blpapi_sessionoptions.h:2068
int clientMode() const
Definition blpapi_sessionoptions.h:1984
void setSlowConsumerWarningLoWaterMark(float loWaterMark)
Definition blpapi_sessionoptions.h:1839
void setAllowMultipleCorrelatorsPerMsg(bool allowMultipleCorrelatorsPerMsg)
Definition blpapi_sessionoptions.h:1775
int defaultKeepAliveResponseTimeout() const
Definition blpapi_sessionoptions.h:2030
unsigned int connectTimeout() const
Definition blpapi_sessionoptions.h:1957
float slowConsumerWarningLoWaterMark() const
Definition blpapi_sessionoptions.h:2019
std::ostream & print(std::ostream &stream, int indentLevel=0, int spacesPerLevel=4) const
Definition blpapi_sessionoptions.h:2118
void setSlowConsumerWarningHiWaterMark(float hiWaterMark)
Definition blpapi_sessionoptions.h:1831
size_t maxEventQueueSize() const
Definition blpapi_sessionoptions.h:2009
bool recordSubscriptionDataReceiveTimes() const
Definition blpapi_sessionoptions.h:2043
void setSessionName(const std::string &sessionName)
Definition blpapi_sessionoptions.h:2095
const char * defaultSubscriptionService() const
Definition blpapi_sessionoptions.h:1967
void setDefaultKeepAliveResponseTimeout(int timeoutMsecs)
Definition blpapi_sessionoptions.h:1855
int serviceDownloadTimeout() const
Definition blpapi_sessionoptions.h:2056
const char * authenticationOptions() const
Definition blpapi_sessionoptions.h:1999
void setApplicationIdentityKey(const std::string &applicationIdentityKey)
Definition blpapi_sessionoptions.h:2076
void setDefaultTopicPrefix(const char *prefix)
Definition blpapi_sessionoptions.h:1770
int flushPublishedEventsTimeout() const
Definition blpapi_sessionoptions.h:2062
int defaultKeepAliveInactivityTime() const
Definition blpapi_sessionoptions.h:2024
void setMaxEventQueueSize(size_t eventQueueSize)
Definition blpapi_sessionoptions.h:1825
void setServiceDownloadTimeout(int timeoutMsecs)
Definition blpapi_sessionoptions.h:1883
void setConnectTimeout(unsigned int timeoutMilliSeconds)
Definition blpapi_sessionoptions.h:1752
void setClientMode(int clientMode)
Definition blpapi_sessionoptions.h:1782
Definition blpapi_socks5config.h:181
Definition blpapi_tlsoptions.h:296
Definition blpapi_abstractsession.h:452
std::ostream & operator<<(std::ostream &os, const CorrelationId &correlator)
Definition blpapi_correlationid.h:761
Definition blpapi_abstractsession.h:451
static int writeToStream(const char *data, int length, void *stream)
Definition blpapi_streamproxy.h:108