* 🔄 Created local '.github/workflows/basic-linters.yml' from remote 'workflows/base/basic-linters.yml'
* 🔄 Synced local 'LICENSE' with remote 'LICENSE'
* 🔄 Created local '.github/settings.yml' from remote '.github/settings.yml'
* 🔄 Synced local '.github/settings.yml' with remote 'erlang/.github/settings.yml'
Co-authored-by: Pavel Popov <tolkonepiu@users.noreply.github.com>
Which is reponsible for:
* (de)serializing requests / responses
* providing request / response metadata for events
Also permit wider service / args models depending on chosen server / client codecs.
Backport #22.
Turns out resolving server endpoint and sending request to this endoint
are racy with respect to domain name resolution: for some reason
`gen_tcp` resolves literal IP addresses through general DNS
mechanism. This means that in the event DNS goes down between resolving
step and sending step one could get `{error, nxdomain}` in the second
step.
It's usually needed earlier than the message itself. And may even be used
to skip formatting altogether, with `msg_fun()` facility in Erlang
logger.
Simplify event handler interface which should make this module more
usable down the line.
Also use monotonic timestamps when measuring time intervals.
* Increase request id length limit up to 64
According to rbkmoney/coredocs#226.
* Bump joint worker timeout in tests
So they would flap less frequently, hopefully.
* Implement woody_client_thrift_v2 over new thrift codec facility, make it default
* Move tracing facilities into woody_trace_h
* Implement woody_server_thrift_v2 over thrift codec facility, make it default
* Bump to rbkmoney/genlib@54920e76
* Enforce tuple-based args representation
* Enable cross tests between impls
* Switch to master rbkmoney/thrift_erlang@4eda678c
* Monitor to detect client disconnetion on server side
* Renaming save_woody_state
* Rework monitor to use one per connection
* Changed event type
* wip: stream handler skeleton
* wip: log abnormal termination
* Upgrade cowboy to 2.7.0
* Finish migration to stream_handler
* Upgrade more dependencies
* Fix state type, remove early_error logging
* rename woody_monitor to comply with cowboy naming
* remove redundant monitor pid from state
* Log only socket errors
* wrap put_woody_state
* experimental: monitor for woody_events
* add missing update
* match on handle_event return, don't monitor tracing
* Rework update_woody_state
* Slightly increase min_complexity in linter config
* Make event state transition explicit
* Remove handle_event wraper
* Revert "Slightly increase min_complexity in linter config"
This reverts commit 38301e3b5b66967cb08c0bf7f27a2a8042a40a19.
* match unmetched returns
* Add test
* Erase trailing whitespace
* Refactor test
* Delete mistakenly added file
* Rename function
* Review fixes
* Match supervisor return
Co-Authored-By: Andrew Mayorov <a.mayorov@rbkmoney.com>
Co-authored-by: Andrew Mayorov <encube.ul@gmail.com>
* Add compex term formatting microbenchmark
* Format FP numbers more neatly
* Provide fast-path verbatim term formatter
* Add memory pressure benchmark runner
* Switch to rebar3_bench 0.2.1 package
* Employ assert macros throughout main ct suite