1
0
Fork 0
mirror of https://github.com/sourcegraph/jsonrpc2.git synced 2026-06-16 04:04:56 +02:00
No description
Find a file
Keegan Carruthers-Smith 5d80b29f44
conn: do not lock sending when closing (#70)
The sending mutex may be blocked due to the underlying conn blocking. If
that happens then we can't call close since close also attempts to hold
the sending mutex. Sending mutex is only used for serializing sends and
doesn't protect the fields close reads/writes. I believe we introduced
locking it so we would return ErrClosed. This commit instead introduces
a check in send which rechecks if we have since closed while attempting
to send.

Test Plan: expanded the test coverage
2023-06-07 08:40:20 +02:00
.github/workflows Pin staticcheck version to v0.2.2 (#63) 2023-02-03 10:51:22 +02:00
websocket fix some golangci-lint, revive linter warnings 2019-11-02 22:31:31 +02:00
.travis.yml Use the last stable Go on Travis CI (#21) 2018-08-31 09:04:50 -07:00
async.go typo in AsyncHandler docstring 2017-02-21 17:51:53 +02:00
call_opt.go Always omit params member from request when empty (#67) 2023-02-22 10:53:44 +02:00
call_opt_test.go Always omit params member from request when empty (#67) 2023-02-22 10:53:44 +02:00
codec_test.go Add PlainObjectCodec (#45) 2021-04-26 09:13:34 +02:00
conn.go conn: do not lock sending when closing (#70) 2023-06-07 08:40:20 +02:00
conn_opt.go Add ability to set custom logger (#48) 2021-11-19 10:30:03 +02:00
conn_opt_test.go Add ability to set custom logger (#48) 2021-11-19 10:30:03 +02:00
conn_test.go conn: do not lock sending when closing (#70) 2023-06-07 08:40:20 +02:00
example_params_test.go Add package example test (#68) 2023-03-01 06:46:15 +02:00
example_test.go Add package example test (#68) 2023-03-01 06:46:15 +02:00
go.mod support for go 1.12+ (#30) 2019-11-03 12:56:29 -08:00
go.sum add go module, simplify some cleanups 2019-11-02 21:39:58 -07:00
handler_with_error.go minor logging fixes 2019-11-07 23:44:16 +02:00
internal_test.go Split jsonrpc2.go file into multiple files (#65) 2023-02-09 07:56:42 +01:00
jsonrpc2.go Always omit params member from request when empty (#67) 2023-02-22 10:53:44 +02:00
jsonrpc2_test.go Always omit params member from request when empty (#67) 2023-02-22 10:53:44 +02:00
LICENSE initial commit 2016-10-11 15:56:18 +02:00
README.md Add package example test (#68) 2023-03-01 06:46:15 +02:00
request.go Always omit params member from request when empty (#67) 2023-02-22 10:53:44 +02:00
request_test.go Always omit params member from request when empty (#67) 2023-02-22 10:53:44 +02:00
response.go Split jsonrpc2.go file into multiple files (#65) 2023-02-09 07:56:42 +01:00
response_test.go Always omit params member from request when empty (#67) 2023-02-22 10:53:44 +02:00
stream.go [#57] Fix and deprecate PlainObjectCodec (#58) 2022-07-11 15:43:39 +02:00

jsonrpc2: JSON-RPC 2.0 implementation for Go Build Status Sourcegraph GoDoc

Package jsonrpc2 provides a Go implementation of JSON-RPC 2.0.

Known issues

  • Batch requests and responses are not yet supported.