文件历史

154 次代码提交

作者 SHA1 备注 提交日期
Asim Aslam 852abcaaed yolo commit functioning router code. all credit to the milos gajdos 2019-07-29 18:57:40 +01:00
Asim Aslam 11f80708ce move lock 2019-07-29 12:52:52 +01:00
Asim Aslam 104778e5e5 move lock 2019-07-29 12:52:32 +01:00
Asim Aslam ae99b9a887 syntactic changes 2019-07-29 12:44:59 +01:00
Asim Aslam 8fdc050e2e syntactic changes 2019-07-29 12:44:28 +01:00
Asim Aslam 8855beb62d syntactic changes 2019-07-29 12:43:20 +01:00
Asim Aslam 47acdf6a4b move Table to table 2019-07-29 12:40:13 +01:00
Asim Aslam 4fc9b9821a Merge pull request #621 from milosgajdos83/no-table-package
[WIP] No table package. router/service package introduced
2019-07-29 12:36:40 +01:00
Asim Aslam 5b327ce723 change id to name in resolver 2019-07-28 20:00:09 +01:00
Asim Aslam adb6760e21 readd the resolver 2019-07-28 12:14:40 +01:00
Milos Gajdos 3d2ec5dbb1 Regenerated proto because proto reasons. 2019-07-27 16:12:44 +01:00
Milos Gajdos 96f9ce1bd3 Proper router stopping. Printable router status. 2019-07-27 16:11:06 +01:00
Milos Gajdos cb3052ce04 Proper stopping of service router 2019-07-27 16:11:06 +01:00
Milos Gajdos 2f1658c213 Table package is no more, hence removed references to it 2019-07-27 16:11:06 +01:00
Milos Gajdos d8b00e801d Stop watcher when router stops. Drain advert channel when stopping. 2019-07-27 16:11:06 +01:00
Milos Gajdos 002abca61f Finished Advertise(). Implemented Process() 2019-07-27 16:11:06 +01:00
Milos Gajdos c5740ae031 Outline of Advertise, Watch and start of the router. 2019-07-27 16:11:05 +01:00
Milos Gajdos ddad43bd77 Added service.Router Route CRUD. Outlined watcher and run() 2019-07-27 16:11:05 +01:00
Milos Gajdos b6fb969ab9 Add List and Lookup implementation. Default error for not implement. 2019-07-27 16:11:05 +01:00
Milos Gajdos 22d0f1f08f Changed documentation. 2019-07-27 16:08:14 +01:00
Milos Gajdos c3a8146d99 Added outline of router/service package. 2019-07-27 16:08:14 +01:00
Milos Gajdos 2338780a61 Full router RPC coverage 2019-07-27 16:08:14 +01:00
Milos Gajdos e22c4b4c07 table package is no more. Cleaned up unnecessary code, too. 2019-07-27 16:04:08 +01:00
Asim Aslam 4e27aac398 regen router proto 2019-07-26 18:07:36 -07:00
Asim Aslam 7ca06f0c1d set router proto package name to go.micro.router 2019-07-26 18:07:14 -07:00
Milos Gajdos 9ad5ae6644 Adds new RPC methods to router service interface
We have added Advertise() and Process() RPCs in this commit.
2019-07-24 21:07:04 +01:00
Milos Gajdos 809de7a052 Mutex Unlock when we fail to store route in cache. 2019-07-24 19:13:05 +01:00
Milos Gajdos 23f0231a09 Adds route watcher to mucp.Proxy 2019-07-24 19:03:13 +01:00
Milos Gajdos b55adc0c30 mucp Proxy no longer uses RPC interface of router.Router directly 2019-07-24 18:32:39 +01:00
Milos Gajdos 13a8cfe7f3 Small function documentation update 2019-07-24 17:22:27 +01:00
Milos Gajdos 1e94d9fe5a Router cleanup and refactoring for win and profit.
This commit adds the following changes to router package:
* it refactors Advertise() function which now does only what
it claims to do: advertising
* various router packages functions/methods have been renamed to make
their functionality more obvious and more in line with what they actually do
* function documentation changes related to the above bullet points
2019-07-24 17:16:52 +01:00
Milos Gajdos 94b6455577 Increment WaitGroup before launching advertiseEvents goroutine 2019-07-17 13:02:47 +01:00
Milos Gajdos 2803146673 Renaming rampage
Addressing the comments in #591, router.String() now returns "default"

Furthermore, a tonne of other renaming has been included in this commit
as a result of running go vet ./... inside the router package.
2019-07-17 00:06:11 +01:00
Milos Gajdos 92495d22db Fixes advert dampening behaviour.
This commit adds the following changes:
* advert now stores a list of route events as opposed to just last one
* attempt to dedup route events before appending them to advert
* have max suppress threshold for long time suppressed adverts
* decaying events on every advert tick

Originally we werent decaying penalties on every advert tick.
That was incorrect behaviour. Furthermore some events would end up being
accumulated potentially causing memory leaks.

We were also overriding the last received router event which was causing
incorrect sequence of events to be applied when received by a receiver:
Create, Delete would be "squashed" into Delete only which would be
nonsensical since the Create event would never be delivered hence we
would be deleting nonexistent routes.

Not Decaying the events on every tick or not having the max suppression
threshold could lead to DoS by growing the router memory infinitely.
2019-07-16 19:00:25 +01:00
Asim Aslam aa79c41fc5 update tunnel comment 2019-07-14 18:34:32 -07:00
Asim Aslam 5157241c88 Merge branch 'master' of ssh://github.com/micro/go-micro 2019-07-11 21:46:33 +01:00
Asim Aslam 70d811c47a don't use quic in the test 2019-07-11 21:46:27 +01:00
Milos Gajdos 9c851f297b Added proto.Advert type to protobuf definitions 2019-07-11 21:14:34 +01:00
Milos Gajdos 35a1de91a9 Advertise full table every minute. 2019-07-11 12:39:20 +01:00
Asim Aslam 6581586226 Make tunnel test use quic 2019-07-11 10:34:01 +01:00
Asim Aslam 9b1cb4ef0e functioning tunnel with test 2019-07-11 00:55:50 +01:00
Asim Aslam ae5376cc0e functioning tunnel/link code 2019-07-11 00:14:36 +01:00
Milos Gajdos a0ee7d2092 Added update action to manageServiceRoutes. Table is embedded; skip opts 2019-07-10 21:28:32 +01:00
Asim Aslam 998a23c963 Functional code for link 2019-07-10 20:04:01 +01:00
Asim Aslam e17ecf66b1 Fix breaking code 2019-07-10 20:03:55 +01:00
Asim Aslam 7c29be288b Update a tunnel top level comment 2019-07-10 19:33:34 +01:00
Asim Aslam 217f540601 The listener has no session id 2019-07-10 19:17:36 +01:00
Asim Aslam ffae0f0fab Add a comment for tunnel processor 2019-07-10 19:13:50 +01:00
Asim Aslam 4cca2b43a3 Add further link comments 2019-07-10 19:11:32 +01:00
Asim Aslam 8c157c1d5f update link comments 2019-07-10 19:09:22 +01:00