From notifications@github.com Wed Nov 3 14:35:47 2021 From: Stefan Mititelu To: sr-dev@lists.kamailio.org Subject: [sr-dev] [kamailio/kamailio] nats: Add publish function (PR #2915) Date: Wed, 03 Nov 2021 06:35:43 -0700 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1096977954==" --===============1096977954== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable <!-- Kamailio Pull Request Template --> <!-- IMPORTANT: - for detailed contributing guidelines, read: https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md - pull requests must be done to master branch, unless they are backports of fixes from master branch to a stable branch - backports to stable branches must be done with 'git cherry-pick -x ..= .' - code is contributed under BSD for core and main components (tm, sl, auth,= tls) - code is contributed GPLv2 or a compatible license for the other components - GPL code is contributed with OpenSSL licensing exception --> #### Pre-Submission Checklist <!-- Go over all points below, and after creating the PR, tick all the che= ckboxes that apply --> <!-- All points should be verified, otherwise, read the CONTRIBUTING guide= lines from above--> <!-- If you're unsure about any of these, don't hesitate to ask on= sr-dev mailing list --> - [X] Commit message has the format required by CONTRIBUTING guide - [X] Commits are split per component (core, individual modules, libs, utils,= ...) - [X] Each component has a single commit (if not, squash them into one commit) - [X] No commits to README files for modules (changes must be done to docbook= files in `doc/` subfolder, the README file is autogenerated) #### Type Of Change - [ ] Small bug fix (non-breaking change which fixes an issue) - [X] New feature (non-breaking change which adds new functionality) - [ ] Breaking change (fix or feature that would change existing functionalit= y) #### Checklist: <!-- Go over all points below, and after creating the PR, tick the checkbo= xes that apply --> - [ ] PR should be backported to stable branches - [X] Tested changes locally - [ ] Related to issue #XXXX (replace XXXX with an open issue number) #### Description <!-- Describe your changes in detail --> Added a publish function to nats module. When the function is called, the rou= ting process tries to connect to the url (param) and tries to send the payloa= d (param) to the subject queue (param). No libuv is used for this. Probably a better approach is to make publisher workers (like subscriber work= ers) and pass payload from routing processes to publisher worker processes vi= a shared memory. Right now I see this as an improvement and find the new func= tion good enough, for now. @eschmidbauer what do you think of this? Thank you, Stefan P.S. Will update doc after review. You can view, comment on, or merge this pull request online at: https://github.com/kamailio/kamailio/pull/2915 -- Commit Summary -- * nats: Add publish function -- File Changes -- M src/modules/nats/nats_mod.c (71) -- Patch Links -- https://github.com/kamailio/kamailio/pull/2915.patch https://github.com/kamailio/kamailio/pull/2915.diff --=20 You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/kamailio/kamailio/pull/2915 --===============1096977954== Content-Type: text/html Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" MIME-Version: 1.0 Cgo8aDQ+UHJlLVN1Ym1pc3Npb24gQ2hlY2tsaXN0PC9oND4KCgoKPHVsIGNsYXNzPSJjb250YWlu cy10YXNrLWxpc3QiPgo8bGkgY2xhc3M9InRhc2stbGlzdC1pdGVtIj48aW5wdXQgdHlwZT0iY2hl Y2tib3giIGlkPSIiIGRpc2FibGVkPSIiIGNsYXNzPSJ0YXNrLWxpc3QtaXRlbS1jaGVja2JveCIg Y2hlY2tlZD0iIj4gQ29tbWl0IG1lc3NhZ2UgaGFzIHRoZSBmb3JtYXQgcmVxdWlyZWQgYnkgQ09O VFJJQlVUSU5HIGd1aWRlPC9saT4KPGxpIGNsYXNzPSJ0YXNrLWxpc3QtaXRlbSI+PGlucHV0IHR5 cGU9ImNoZWNrYm94IiBpZD0iIiBkaXNhYmxlZD0iIiBjbGFzcz0idGFzay1saXN0LWl0ZW0tY2hl Y2tib3giIGNoZWNrZWQ9IiI+IENvbW1pdHMgYXJlIHNwbGl0IHBlciBjb21wb25lbnQgKGNvcmUs IGluZGl2aWR1YWwgbW9kdWxlcywgbGlicywgdXRpbHMsIC4uLik8L2xpPgo8bGkgY2xhc3M9InRh c2stbGlzdC1pdGVtIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSIiIGRpc2FibGVkPSIiIGNs YXNzPSJ0YXNrLWxpc3QtaXRlbS1jaGVja2JveCIgY2hlY2tlZD0iIj4gRWFjaCBjb21wb25lbnQg aGFzIGEgc2luZ2xlIGNvbW1pdCAoaWYgbm90LCBzcXVhc2ggdGhlbSBpbnRvIG9uZSBjb21taXQp PC9saT4KPGxpIGNsYXNzPSJ0YXNrLWxpc3QtaXRlbSI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBp ZD0iIiBkaXNhYmxlZD0iIiBjbGFzcz0idGFzay1saXN0LWl0ZW0tY2hlY2tib3giIGNoZWNrZWQ9 IiI+IE5vIGNvbW1pdHMgdG8gUkVBRE1FIGZpbGVzIGZvciBtb2R1bGVzIChjaGFuZ2VzIG11c3Qg YmUgZG9uZSB0byBkb2Nib29rIGZpbGVzPGJyPgppbiA8Y29kZT5kb2MvPC9jb2RlPiBzdWJmb2xk ZXIsIHRoZSBSRUFETUUgZmlsZSBpcyBhdXRvZ2VuZXJhdGVkKTwvbGk+CjwvdWw+CjxoND5UeXBl IE9mIENoYW5nZTwvaDQ+Cjx1bCBjbGFzcz0iY29udGFpbnMtdGFzay1saXN0Ij4KPGxpIGNsYXNz PSJ0YXNrLWxpc3QtaXRlbSI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iIiBkaXNhYmxlZD0i IiBjbGFzcz0idGFzay1saXN0LWl0ZW0tY2hlY2tib3giPiBTbWFsbCBidWcgZml4IChub24tYnJl YWtpbmcgY2hhbmdlIHdoaWNoIGZpeGVzIGFuIGlzc3VlKTwvbGk+CjxsaSBjbGFzcz0idGFzay1s aXN0LWl0ZW0iPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9IiIgZGlzYWJsZWQ9IiIgY2xhc3M9 InRhc2stbGlzdC1pdGVtLWNoZWNrYm94IiBjaGVja2VkPSIiPiBOZXcgZmVhdHVyZSAobm9uLWJy ZWFraW5nIGNoYW5nZSB3aGljaCBhZGRzIG5ldyBmdW5jdGlvbmFsaXR5KTwvbGk+CjxsaSBjbGFz cz0idGFzay1saXN0LWl0ZW0iPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9IiIgZGlzYWJsZWQ9 IiIgY2xhc3M9InRhc2stbGlzdC1pdGVtLWNoZWNrYm94Ij4gQnJlYWtpbmcgY2hhbmdlIChmaXgg b3IgZmVhdHVyZSB0aGF0IHdvdWxkIGNoYW5nZSBleGlzdGluZyBmdW5jdGlvbmFsaXR5KTwvbGk+ CjwvdWw+CjxoND5DaGVja2xpc3Q6PC9oND4KCjx1bCBjbGFzcz0iY29udGFpbnMtdGFzay1saXN0 Ij4KPGxpIGNsYXNzPSJ0YXNrLWxpc3QtaXRlbSI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0i IiBkaXNhYmxlZD0iIiBjbGFzcz0idGFzay1saXN0LWl0ZW0tY2hlY2tib3giPiBQUiBzaG91bGQg YmUgYmFja3BvcnRlZCB0byBzdGFibGUgYnJhbmNoZXM8L2xpPgo8bGkgY2xhc3M9InRhc2stbGlz dC1pdGVtIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSIiIGRpc2FibGVkPSIiIGNsYXNzPSJ0 YXNrLWxpc3QtaXRlbS1jaGVja2JveCIgY2hlY2tlZD0iIj4gVGVzdGVkIGNoYW5nZXMgbG9jYWxs eTwvbGk+CjxsaSBjbGFzcz0idGFzay1saXN0LWl0ZW0iPjxpbnB1dCB0eXBlPSJjaGVja2JveCIg aWQ9IiIgZGlzYWJsZWQ9IiIgY2xhc3M9InRhc2stbGlzdC1pdGVtLWNoZWNrYm94Ij4gUmVsYXRl ZCB0byBpc3N1ZSAjWFhYWCAocmVwbGFjZSBYWFhYIHdpdGggYW4gb3BlbiBpc3N1ZSBudW1iZXIp PC9saT4KPC91bD4KPGg0PkRlc2NyaXB0aW9uPC9oND4KCjxwPkFkZGVkIGEgcHVibGlzaCBmdW5j dGlvbiB0byBuYXRzIG1vZHVsZS4gV2hlbiB0aGUgZnVuY3Rpb24gaXMgY2FsbGVkLCB0aGUgcm91 dGluZyBwcm9jZXNzIHRyaWVzIHRvIGNvbm5lY3QgdG8gdGhlIHVybCAocGFyYW0pIGFuZCB0cmll cyB0byBzZW5kIHRoZSBwYXlsb2FkIChwYXJhbSkgdG8gdGhlIHN1YmplY3QgcXVldWUgKHBhcmFt KS4gTm8gbGlidXYgaXMgdXNlZCBmb3IgdGhpcy48L3A+CjxwPlByb2JhYmx5IGEgYmV0dGVyIGFw cHJvYWNoIGlzIHRvIG1ha2UgcHVibGlzaGVyIHdvcmtlcnMgKGxpa2Ugc3Vic2NyaWJlciB3b3Jr ZXJzKSBhbmQgcGFzcyBwYXlsb2FkIGZyb20gcm91dGluZyBwcm9jZXNzZXMgdG8gcHVibGlzaGVy IHdvcmtlciBwcm9jZXNzZXMgdmlhIHNoYXJlZCBtZW1vcnkuIFJpZ2h0IG5vdyBJIHNlZSB0aGlz IGFzIGFuIGltcHJvdmVtZW50IGFuZCBmaW5kIHRoZSBuZXcgZnVuY3Rpb24gZ29vZCBlbm91Z2gs IGZvciBub3cuPC9wPgo8cD48YSBjbGFzcz0idXNlci1tZW50aW9uIiBkYXRhLWhvdmVyY2FyZC10 eXBlPSJ1c2VyIiBkYXRhLWhvdmVyY2FyZC11cmw9Ii91c2Vycy9lc2NobWlkYmF1ZXIvaG92ZXJj YXJkIiBkYXRhLW9jdG8tY2xpY2s9ImhvdmVyY2FyZC1saW5rLWNsaWNrIiBkYXRhLW9jdG8tZGlt ZW5zaW9ucz0ibGlua190eXBlOnNlbGYiIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9lc2NobWlk YmF1ZXIiPkBlc2NobWlkYmF1ZXI8L2E+IHdoYXQgZG8geW91IHRoaW5rIG9mIHRoaXM/PC9wPgo8 cD5UaGFuayB5b3UsPGJyPgpTdGVmYW48L3A+CjxwPlAuUy4gV2lsbCB1cGRhdGUgZG9jIGFmdGVy IHJldmlldy48L3A+Cgo8aHI+Cgo8aDQ+WW91IGNhbiB2aWV3LCBjb21tZW50IG9uLCBvciBtZXJn ZSB0aGlzIHB1bGwgcmVxdWVzdCBvbmxpbmUgYXQ6PC9oND4KPHA+Jm5ic3A7Jm5ic3A7PGEgaHJl Zj0naHR0cHM6Ly9naXRodWIuY29tL2thbWFpbGlvL2thbWFpbGlvL3B1bGwvMjkxNSc+aHR0cHM6 Ly9naXRodWIuY29tL2thbWFpbGlvL2thbWFpbGlvL3B1bGwvMjkxNTwvYT48L3A+Cgo8aDQ+Q29t bWl0IFN1bW1hcnk8L2g0Pgo8dWw+CiAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9r YW1haWxpby9rYW1haWxpby9wdWxsLzI5MTUvY29tbWl0cy8xMjFhZTM3NGUwYzMwOTAyN2VlYmVh YmNmZjM5MDMxZGMzMTZkMjk3Ij5uYXRzOiBBZGQgcHVibGlzaCBmdW5jdGlvbjwvYT48L2xpPgo8 L3VsPgoKPGg0IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2siPkZpbGUgQ2hhbmdlcyA8L2g0 PiA8cCBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrIj4oPGEgaHJlZj0iaHR0cHM6Ly9naXRo dWIuY29tL2thbWFpbGlvL2thbWFpbGlvL3B1bGwvMjkxNS9maWxlcyI+MSZuYnNwO2ZpbGU8L2E+ KTwvcD4KPHVsPgogIDxsaT4KICAgIDxzdHJvbmc+TTwvc3Ryb25nPgogICAgPGEgaHJlZj0iaHR0 cHM6Ly9naXRodWIuY29tL2thbWFpbGlvL2thbWFpbGlvL3B1bGwvMjkxNS9maWxlcyNkaWZmLWQ0 YzJkNjE4NjA4NjJhNDlmN2Y5YjIzYTQ3N2FmZDkxMDNjZGIxNDVkODhjZDliNzNmNjZkZWM2NGNj YjI1MDkiPnNyYy9tb2R1bGVzL25hdHMvbmF0c19tb2QuYzwvYT4KICAgICg3MSkKICA8L2xpPgo8 L3VsPgoKPGg0PlBhdGNoIExpbmtzOjwvaDQ+Cjx1bD4KICA8bGk+PGEgaHJlZj0naHR0cHM6Ly9n aXRodWIuY29tL2thbWFpbGlvL2thbWFpbGlvL3B1bGwvMjkxNS5wYXRjaCc+aHR0cHM6Ly9naXRo dWIuY29tL2thbWFpbGlvL2thbWFpbGlvL3B1bGwvMjkxNS5wYXRjaDwvYT48L2xpPgogIDxsaT48 YSBocmVmPSdodHRwczovL2dpdGh1Yi5jb20va2FtYWlsaW8va2FtYWlsaW8vcHVsbC8yOTE1LmRp ZmYnPmh0dHBzOi8vZ2l0aHViLmNvbS9rYW1haWxpby9rYW1haWxpby9wdWxsLzI5MTUuZGlmZjwv YT48L2xpPgo8L3VsPgoKPHAgc3R5bGU9ImZvbnQtc2l6ZTpzbWFsbDstd2Via2l0LXRleHQtc2l6 ZS1hZGp1c3Q6bm9uZTtjb2xvcjojNjY2OyI+Jm1kYXNoOzxiciAvPllvdSBhcmUgcmVjZWl2aW5n IHRoaXMgYmVjYXVzZSB5b3UgYXJlIHN1YnNjcmliZWQgdG8gdGhpcyB0aHJlYWQuPGJyIC8+UmVw bHkgdG8gdGhpcyBlbWFpbCBkaXJlY3RseSwgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2th bWFpbGlvL2thbWFpbGlvL3B1bGwvMjkxNSI+dmlldyBpdCBvbiBHaXRIdWI8L2E+LCBvciA8YSBo cmVmPSJodHRwczovL2dpdGh1Yi5jb20vbm90aWZpY2F0aW9ucy91bnN1YnNjcmliZS1hdXRoL0FC TzdVWk5VTkVMSkg0VEc2WElEQUZMVUtFM0M3QU5DTkZTTTVISTZDVlhRIj51bnN1YnNjcmliZTwv YT4uPGJyIC8+VHJpYWdlIG5vdGlmaWNhdGlvbnMgb24gdGhlIGdvIHdpdGggR2l0SHViIE1vYmls ZSBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQx NDc3Mzc2OTA1P2N0PW5vdGlmaWNhdGlvbi1lbWFpbCZhbXA7bXQ9OCZhbXA7cHQ9NTI0Njc1Ij5p T1M8L2E+IG9yIDxhIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0 YWlscz9pZD1jb20uZ2l0aHViLmFuZHJvaWQmYW1wO3JlZmVycmVyPXV0bV9jYW1wYWlnbiUzRG5v dGlmaWNhdGlvbi1lbWFpbCUyNnV0bV9tZWRpdW0lM0RlbWFpbCUyNnV0bV9zb3VyY2UlM0RnaXRo dWIiPkFuZHJvaWQ8L2E+Lgo8aW1nIHNyYz0iaHR0cHM6Ly9naXRodWIuY29tL25vdGlmaWNhdGlv bnMvYmVhY29uL0FCTzdVWkwzUzZHRzNOMkpNMkkzUkgzVUtFM0M3QTVDTkZTTTVISTZDVlgyWVkz UE5WV1dLM1RVTDUySFM0REZVVkVYRzQzVk1XVkdHMzNOTlZTVzQ1QzdORlNNNFBSVUROTUEuZ2lm IiBoZWlnaHQ9IjEiIHdpZHRoPSIxIiBhbHQ9IiIgLz48L3A+CjxzY3JpcHQgdHlwZT0iYXBwbGlj YXRpb24vbGQranNvbiI+Wwp7CiJAY29udGV4dCI6ICJodHRwOi8vc2NoZW1hLm9yZyIsCiJAdHlw ZSI6ICJFbWFpbE1lc3NhZ2UiLAoicG90ZW50aWFsQWN0aW9uIjogewoiQHR5cGUiOiAiVmlld0Fj dGlvbiIsCiJ0YXJnZXQiOiAiaHR0cHM6Ly9naXRodWIuY29tL2thbWFpbGlvL2thbWFpbGlvL3B1 bGwvMjkxNSIsCiJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2thbWFpbGlvL2thbWFpbGlvL3B1 bGwvMjkxNSIsCiJuYW1lIjogIlZpZXcgUHVsbCBSZXF1ZXN0Igp9LAoiZGVzY3JpcHRpb24iOiAi VmlldyB0aGlzIFB1bGwgUmVxdWVzdCBvbiBHaXRIdWIiLAoicHVibGlzaGVyIjogewoiQHR5cGUi OiAiT3JnYW5pemF0aW9uIiwKIm5hbWUiOiAiR2l0SHViIiwKInVybCI6ICJodHRwczovL2dpdGh1 Yi5jb20iCn0KfQpdPC9zY3JpcHQ+Cg== --===============1096977954==--