Milos Gajdos
6beae23afd
First commit. Outline of the default network.
2019-08-23 15:14:15 +01:00
Asim Aslam
34381213e7
Package comment
2019-08-05 18:04:47 +01:00
Asim Aslam
4030ccc27b
Move proxy/router
2019-08-05 17:44:33 +01:00
Asim Aslam
d250ac736f
In the event watchRegistry or watchTable exit then close the go routines
2019-08-02 15:17:48 +01:00
Asim Aslam
6719f8d655
Remove the table watcher when stopped
2019-08-02 14:59:08 +01:00
Asim Aslam
d7929ef8f3
Stop the ticker when exiting
2019-08-02 14:44:11 +01:00
Milos Gajdos
2720c6f28e
Removed trailing white characters
2019-08-01 13:32:55 +01:00
Asim Aslam
cdf0f14d58
remove this code
2019-07-31 17:19:49 +01:00
Asim Aslam
679c5f0ccd
Fix some connection bugs
2019-07-31 16:49:48 +01:00
Asim Aslam
873bfcc73c
Process/Stop router
2019-07-31 16:46:55 +01:00
Asim Aslam
7884e889f4
Don't publish the process rpc call and embed the router handler in the network
2019-07-31 16:36:53 +01:00
Asim Aslam
b1c49a0ddc
Add router handler
2019-07-31 16:10:04 +01:00
Asim Aslam
318367cd71
move NewNetwork
2019-07-31 15:37:12 +01:00
Asim Aslam
2d09e74b0e
add address/advertise
2019-07-31 15:35:51 +01:00
Asim Aslam
3e90d32f29
Add proxy/router
2019-07-31 15:30:51 +01:00
Asim Aslam
fca89e06ef
Some network inspiration
2019-07-31 15:22:57 +01:00
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