Commit Graph

365 Commits

Author SHA1 Message Date
Emiel Bruijntjes 4b62948275
Merge pull request #411 from CopernicaMarketingSoftware/remove-unused-class
Remove unused ConsumedMessage class
2021-08-02 08:38:57 +02:00
Emiel Bruijntjes c7c36ab3c4
Merge pull request #409 from Niederb/master
Three small improvements
2021-08-02 08:38:19 +02:00
Thomas Niederberger 592a8bf691 Fix typo 2021-08-01 11:20:28 +02:00
Raoul Wols 0499863da2
Fix SSL state bugs (#413) 2021-07-30 14:50:15 +02:00
Raoul Wols f0f17cdf18
Remove unused ConsumedMessage class 2021-07-28 12:14:50 +02:00
Raoul Wols 819af12055
Replace shared_ptr by unique_ptr for Fields (#402)
There is no real purpose to using shared pointers it seems.
2021-07-20 10:32:10 +02:00
Raoul Wols 2f26928e3e
docblock 2021-07-13 13:27:19 +02:00
Raoul Wols 477243d3f3
Handle newlines better in sslerrorprinter.cpp
According to 4cedf30e99/crypto/err/err_prn.c (L20)
the ERR_print_errors_cb function already adds newlines to the end
of each line. So we can just append right away. We do remove the
last newline as normally error messages don't end with a newline.
Also we may return 0 instead of 1.
2021-07-13 13:25:39 +02:00
Raoul Wols 40d2af913e
docblock 2021-07-13 13:19:32 +02:00
Raoul Wols 3ca1ef73ad
Lookup function in shared library 2021-07-13 13:12:32 +02:00
Raoul Wols df78574034
docblocks 2021-07-13 12:32:17 +02:00
Raoul Wols faa491ce65
remove BIO stuff completely, replace with callback 2021-07-13 12:31:04 +02:00
Raoul Wols 4d49b44283
separate cpp file 2021-07-13 11:37:31 +02:00
Raoul Wols d5819ef2dc
docblock 2021-07-13 11:24:08 +02:00
Raoul Wols 3bc7b62567
separate class for extracting errors 2021-07-13 11:23:08 +02:00
Raoul Wols 2f6451a9aa
Print a better error message
This is still missing the dlsym wrappers.
2021-07-12 18:44:16 +02:00
Raoul Wols 3649f41219
Fix: cannot call size() on a moved-from Field
Solution is to swap the statements.

This was regressed in 7532f5769d.
2021-07-01 13:48:10 +02:00
Emiel Bruijntjes 134ed73498
Merge pull request #401 from CopernicaMarketingSoftware/40169
Improve Table copy assignment operator
2021-07-01 12:54:20 +02:00
Raoul Wols 0f17bd0687
Improve Table copy assignment operator 2021-07-01 12:41:18 +02:00
Raoul Wols 3965739ccb
Don't rely on argument dependent lookup 2021-07-01 12:07:43 +02:00
Raoul Wols ac91e954c2
Prefer make_shared over calling std::shared_ptr constructor 2021-07-01 11:54:43 +02:00
Emiel Bruijntjes 45775fefe8 avoid that multiple frames are sent by the channel-on-ready handler 2021-06-15 11:56:56 +02:00
aljar c2e0cc57eb Make sure the deffered objects stay in scope when we call into callback in tagger. 2021-05-12 15:09:25 +02:00
Emiel Bruijntjes 6d0ad0fe0d
Merge pull request #387 from CopernicaMarketingSoftware/fixTaggerClose
Fix Tagger::close
2021-01-14 10:05:02 +01:00
aljar 3b7ebb1077 The defered parameter indicatates if it failed, while the call in Tagger:close asumed that the parameter indicated usable. This is now fixed. 2021-01-14 09:16:35 +01:00
Emiel Bruijntjes 3dbd045d06 allow user space programs to initialize the SSL structure before a connection is set up 2021-01-01 18:52:54 +01:00
Bas van Berckel 77d74bff93
SslHandshake set default verify path (#385)
Set default verify paths for SSLHandshake to prevent secure connections from being marked as unverified.
Co-authored-by: Bas van Berckel <bas.vanberckel@copernica.com>
2020-12-07 16:36:32 +01:00
Michael van der Werve e4ec629d62 signals can interrupt poll, which is now taken as a failure but should be retried 2020-11-23 09:57:35 +01:00
Mikhail Basanets ced0de4eda Added check if the connectionOrder receives nullptr and not a valid string. This can be a case if address.option(connectionOrder) returns nullptr. 2020-11-16 19:56:28 +02:00
Emiel Bruijntjes bca39d8f29 simplified code, split up long methods in separate methods 2020-11-16 18:22:00 +01:00
aljar f9d85f5d01 Use address to pass the option and add some extra options for sorting ips. 2020-11-16 16:30:29 +01:00
aljar fe1538e8ae Set option via address. 2020-11-13 18:05:07 +01:00
aljar 11f1eaf2c3 Don't use the old random_shuffle and don't set a global seed. 2020-11-13 17:49:14 +01:00
aljar 4570496547 Add option to select an IP randomly instead of using the order provided by getaddrinfo, which is proximity based. 2020-11-13 17:10:30 +01:00
Emiel Bruijntjes 7c07ab12e2
Merge pull request #378 from CopernicaMarketingSoftware/poll-replace-select
select only supports upto fd 1024, which can cause stack smashing if using higher ones
2020-10-30 12:45:40 +01:00
Michael van der Werve 537ee3f440 select only supports upto fd 1024, and we need to support any possible fd 2020-10-30 11:51:29 +01:00
Bas van Berckel 110706771a
Add missing recall implementation (#375)
* Add missing recall implementation
* create DeferredRecall if it doesn't exist

Co-authored-by: Bas van Berckel <bas.vanberckel@copernica.com>
2020-10-21 15:21:28 +02:00
Michael van der Werve 295642cfcd {auto} renamed confirmed to tagger and added unacknowledged counter' 2020-10-21 11:50:34 +02:00
Michael van der Werve 2262d92938 {auto} disconnected explicit requirement of reliable and throttle 2020-10-21 10:36:39 +02:00
Emiel Bruijntjes b7e9827e0c Renamed DeferredConfirmedPublish to DeferredPublish 2020-10-19 08:59:13 +02:00
Emiel Bruijntjes 31f2d78778 Breaking change: the channel.publish() method no longer returns a DeferredPublisher-object, because it was not logical that you had to reinstall the callbacks for bounce-methods after each individual publish() call, not was it logical that the callbacks were not always logically linked to the publish() operation that failed (they were always sent to the handler of the most recent publish() instead of to the handler of the failed publish()). At the same time we added a channel.recall() method that can be used to notify the library that user-space is prepared to recall/take-back/accept bounced messages 2020-10-19 08:52:50 +02:00
Michael van der Werve ad428fa629 fix the remnant 'waiting' on the channel after error 2020-10-15 10:07:24 +02:00
Michael van der Werve 5af76d874e empty queue on error 2020-10-15 09:35:27 +02:00
Emiel Bruijntjes 2e49fd1220
Merge pull request #345 from tarhan/master
Added Void field type
2020-10-14 21:02:12 +02:00
Michael van der Werve b368f9e635 bugfix; base handler was no longer (always) properly called 2020-10-14 11:21:02 +02:00
Michael van der Werve c58cb6748d onError handler can be set on throttle, and onError & onLost can also be set on messages sent via confirmed. 2020-10-12 12:02:04 +02:00
Michael van der Werve 0dc624a3e6 {auto} if there are no open messages, close channel directly 2020-10-07 16:12:15 +02:00
Michael van der Werve e227d1ed3a {auto} confirmed channel can now be closed correctly 2020-10-07 16:08:26 +02:00
Michael van der Werve 0b9f4e4af5 {auto} initial implementation of the confirmed wrapper 2020-10-07 11:49:38 +02:00
Michael van der Werve f10e861532
{auto} renamed the throttledchannel to AMQP::Throttle, since it is only a wrapper and not strictly a channel (#366) 2020-10-07 10:04:05 +02:00