Asim Aslam
f46828be33
Add Router interface
2019-01-08 20:32:47 +00:00
Asim Aslam
4cb41721f1
further codec changes
2019-01-08 15:38:25 +00:00
Asim Aslam
216dbb771a
rename requestHeader
2019-01-07 18:25:31 +00:00
Asim Aslam
c9963cb870
rename
2019-01-07 18:20:47 +00:00
Asim Aslam
9544058af3
Merge pull request #372 from micro/codec
...
Switch default codec and add default codec for server
2019-01-07 17:54:28 +00:00
Asim Aslam
c717af21ac
Some router changes
2019-01-07 17:17:06 +00:00
Asim Aslam
46ece968d4
rename service to router
2019-01-07 14:44:40 +00:00
Asim Aslam
d179c971af
Switch default codec and add default codec for server
2019-01-07 13:48:38 +00:00
Asim Aslam
5aeb28dfee
Add error header
2019-01-07 09:11:36 +00:00
Asim Aslam
ed580204a8
Add grpc codec
2019-01-02 12:55:06 +00:00
Asim Aslam
e2623d8ef5
Make json/protobuf codecs
2018-12-31 22:01:16 +00:00
Asim Aslam
0d917bbf37
move location of handler
2018-11-26 14:51:42 +00:00
Asim Aslam
34ed5235a3
rename rpc codec
2018-11-23 20:05:31 +00:00
Shulhan
415fb3a730
all: replace "pborman/uuid" with "google/uuid"
...
Internally, "pborman/uuid.NewUUID()" is calling "google/uuid.New()"
that return nil when there is an error [1].
Both package use the same license.
[1] https://github.com/pborman/uuid/blob/master/version1.go#L17
2018-11-21 17:29:21 +07:00
Asim Aslam
172ffee8c3
add rpc package comments
2018-11-20 10:30:53 +00:00
Asim Aslam
e69413b763
add continue
2018-11-15 21:13:33 +00:00
Asim Aslam
45f18042b7
make accept loop
2018-11-15 19:55:13 +00:00
Asim Aslam
0672b051cc
Add Local/Remote ip to metadata
2018-11-14 20:27:58 +00:00
Asim Aslam
c6a2c8de6c
add local/remote to testsocket
2018-11-14 19:45:46 +00:00
Mikhail Grachev
25e6dcc9b6
Fix some linter issues
2018-11-13 11:57:42 +03:00
Asim Aslam
a56e97b47d
Change waitgroup processing
2018-05-26 09:41:41 +01:00
Asim Aslam
c666558f8c
make the broker/transport listen on new addr when stop/started with addr :0
2018-05-25 15:19:25 +01:00
Asim Aslam
b39ec4472c
Return subscriber errors
2018-04-26 10:47:13 +01:00
Asim Aslam
0315b4480f
revert some changes
2018-04-17 11:00:22 +01:00
Asim Aslam
19fdfba0bf
move wrapper files
2018-04-14 19:24:17 +01:00
Asim Aslam
d00d76bf7c
Move publication to message
2018-04-14 18:21:02 +01:00
Asim Aslam
65068e8b82
rename Streamer to Stream
2018-04-14 18:15:09 +01:00
Asim Aslam
e55437698b
misc moved to util
2018-04-08 12:37:45 +01:00
Asim Aslam
c9b40cb33b
switch to stdlib context
2018-03-03 11:53:52 +00:00
Tobias Wellnitz, DH1TW
0dcea05fb8
fix possible deadlock since code can return without unlocking the Mutex
2018-01-01 19:57:13 +01:00
Shannon Wynter
0e696f4907
Fix hashing of the service definition
...
Maps are sorted randomly, order the keys as a slice
2017-08-24 18:25:05 +10:00
Hao Lian
d4b149046f
server/rpc_codec: if c.codec.Write fails, reset write buffer and encode an error message about the encoding failure
...
When developing go-micro services, it is frequently possible to set invalid results in the response pointer. When this happens (as I and @trushton personally experienced), `sendResponse()` returns an error correctly explaining what happened (e.g. protobuf refused to encode a bad struct) but the `call()` function one above it in the stack ignores the returned error object.
Thus, invalid structs go un-encoded and the _client side times out_. @trushton and I first caught this in our CI builds when we left a protobuf.Empty field uninitialized (nil) instead of setting it to `&ptypes.Empty{}`. This resulted in an `proto: oneof field has nil value` error, but it was dropped and became a terribly confusing client timeout instead.
This patch is two independent changes:
* In rpc_codec, when a serialization failure occurs serialize an error message, which will correctly become a 500 for HTTP services, about the encoding failure. This means rpc_codec only returns an `error` when a socket failure occurs, which I believe is the behavior that rpc_service is expecting anyway.
* In rpc_service, log any errors returned by sendResponse instead of dropping the error object. This will make debugging client timeouts less of a hassle.
2017-07-17 14:21:43 -04:00
Asim Aslam
3812cbbcb6
defer wg.Done so it's called even if there's a panic
2017-06-12 14:18:59 +01:00
Asim Aslam
e1a1f1c0f0
add wait option
2017-05-31 19:47:50 +01:00
Asim Aslam
f7a9207c7a
wait for subscribers to complete
2017-05-31 19:47:41 +01:00
Asim Aslam
2ee22f5336
strip init of wg
2017-05-31 19:35:16 +01:00
Asim Aslam
276a0118da
be pedantic
2017-05-31 19:33:11 +01:00
Asim Aslam
726793b6fa
Wait for requests to finish before closing transport
2017-05-31 19:21:41 +01:00
Asim Aslam
a7312f5c7e
log panics
2017-05-16 19:14:00 +01:00
Asim Aslam
5bce20627f
Switch that back to Fatal since we've added the convenience method
2017-05-12 15:14:54 +01:00
Asim Aslam
bab586b71e
make use of micro/go-log
2017-05-11 20:43:42 +01:00
Asim Aslam
238c99d228
rename file to please the OCD gods
2017-01-12 20:38:43 +00:00
Asim Aslam
a9889730d6
move addr extractor to misc
2017-01-12 13:20:34 +00:00
Asim Aslam
d606d00f35
superfluous logging
2016-12-15 20:45:27 +00:00
Asim Aslam
71d717a06d
strip doc.go files
2016-12-14 15:41:48 +00:00
Asim
a36e042983
We don't need numcalls, save us a mutex lock
2016-11-01 19:40:36 +00:00
Asim
15f19b700f
Use struct tags if available
2016-07-30 19:01:42 +01:00
Asim
739b094cd2
Merge branch 'master' into pool
2016-06-06 14:06:03 +01:00
Asim
93c1ae6221
Add debug stats handler
2016-05-28 22:30:47 +01:00
Asim
7a5a9013ef
move the option
2016-05-26 20:43:05 +01:00