Commit Graph

33 Commits

Author SHA1 Message Date
Benjamin Sergeant 97cc543e53 (cobra connection) retrieve cobra server connection id from the cobra handshake message and display it in ws clients, metrics publisher and bots 2020-09-22 09:30:19 -07:00
Benjamin Sergeant d525c28907 (cobra connection and bots) set an HTTP header when connecting to help with debugging bots 2020-09-18 15:11:20 -07:00
Benjamin Sergeant 5896d3740f (ws + cobra bots) add a cobra_to_cobra ws subcommand to subscribe to a channel and republish received events to a different channel 2020-08-31 13:45:00 -07:00
Benjamin Sergeant dc77d62a5d (ixcobra) CobraConnection: unsubscribe from all subscriptions when disconnecting 2020-07-28 10:32:18 -07:00
Benjamin Sergeant 565a08b229 (cobra client and bots) add batch_size subscription option for retrieving multiple messages at once 2020-06-17 17:13:45 -07:00
Benjamin Sergeant 646b18bf28 core logger support multiple level + switch ixbots to user corelogger instead of spdlog 2020-04-24 15:17:50 -07:00
Ross Jacobs 5860c5c80b Fixes #179 (#180) 2020-04-20 22:59:20 -07:00
Benjamin Sergeant 9b8cfa0a37 (websocket) add a positive number to the heartbeat message sent, incremented each time the heartbeat is sent 2020-04-15 18:33:36 -07:00
Benjamin Sergeant 64754df66c (ixcobra) change cobra event callback to use a struct instead of several objects, which is more flexible/extensible 2020-04-15 17:38:39 -07:00
Benjamin Sergeant 71a421eefc remove file that does not exist yet but which is referenced in CMake 2020-04-15 17:03:34 -07:00
Benjamin Sergeant 386ef3ab04 (ixcobra) make CobraConnection_EventType an enum class (CobraEventType) 2020-04-15 16:59:17 -07:00
Benjamin Sergeant d2db7310ff (ixcobra) add explicit event types for handshake, authentication and subscription failure, and handle those by exiting in ws_cobra_subcribe and friends 2020-03-26 18:54:28 -07:00
Benjamin Sergeant a0ffb2ba53 cobra to statsd bot ported to windows + add unittest 2020-03-22 19:37:04 -07:00
Benjamin Sergeant 829751b7af (cobra) CobraMetricsPublisher can be configure with an ix::CobraConfig + more unittest use SSL in server + client 2020-03-20 12:22:00 -07:00
Benjamin Sergeant b287730c19 Simplify ping/pong based heartbeat implementation 2020-03-18 01:14:08 -07:00
Benjamin Sergeant 9801ebdb36 (cobra client) can subscribe with a position 2020-03-13 16:06:13 -07:00
Benjamin Sergeant 332ffb0603 (cobra client) pass the message position to the subscription data callback 2020-03-13 12:49:37 -07:00
Benjamin Sergeant 6a4d69afc5 (cobra) IXCobraConfig struct has tlsOptions and per message deflate options 2020-03-11 12:40:32 -07:00
Benjamin Sergeant 0a11132b07 (cobra) add IXCobraConfig struct to pass cobra config around 2020-03-11 10:48:41 -07:00
Benjamin Sergeant f994a41845 (IXCobraConnection) set a ping timeout of 90 seconds. If no pong messages are received as responses to ping for a while, give up and close the connection 2020-01-31 16:25:45 -08:00
Benjamin Sergeant c2362e6875 (ixcobra) check if we are authenticated in publishNext before trying to publish a message 2020-01-30 20:52:11 -08:00
Benjamin Sergeant ee65f95fe3 (cobra client) send a websocket ping every 30s to keep the connection opened 2019-12-24 17:16:41 -08:00
Benjamin Sergeant d7318f97e6 (tls) add a simple description of the TLS configuration routine for debugging 2019-12-20 15:18:04 -08:00
Benjamin Sergeant 9347664622 (cobra) Add TLS options to all cobra commands and classes. Add example to the doc. 2019-12-19 20:49:28 -08:00
Benjamin Sergeant 18386ae66f (ws) #125 / fix build problem when jsoncpp is not installed locally 2019-12-03 17:18:16 -08:00
Benjamin Sergeant 5c5ea6dec1 (ws) #125 / cmake detects an already installed jsoncpp and will try to use this one if present 2019-12-03 16:01:46 -08:00
Benjamin Sergeant c3a619f114 Add client support for websocket subprotocol. Look for the new addSubProtocol method for details 2019-10-13 13:37:34 -07:00
Benjamin Sergeant afed387bcf Socket Factory has only one function which works for server and client code, and can do tls for both 2019-09-30 22:06:46 -07:00
Benjamin Sergeant 0ee675e554 ixcobra / fix crash in CobraConnection::publishNext when the queue is empty + handle CobraConnection_PublishMode_Batch in CobraMetricsThreadedPublisher 2019-09-28 10:36:47 -07:00
Benjamin Sergeant 94c589f696 Fix 2 race conditions detected with TSan, one in CobraMetricsPublisher::push and another one in WebSocketTransport::sendData (that one was bad). 2019-09-24 11:46:54 -07:00
Benjamin Sergeant ed4be773a2 Fix crash in the Linux unittest in the HTTP client code, in Socket::readBytes. Cobra Metrics Publisher code returns the message id of the message that got published, to be used to validated that it got sent properly when receiving an ack. 2019-09-21 09:23:58 -07:00
Benjamin Sergeant c3238b7e02 build fixes 2019-09-10 14:05:07 -07:00
Benjamin Sergeant 2453f5b717 restructure project 2019-09-10 12:19:22 -07:00