privacylab / talek

a Private Publish Subscribe System
BSD 2-Clause "Simplified" License
48 stars 5 forks source link

Use HTTP for communication #81

Closed willscott closed 6 years ago

willscott commented 7 years ago

This replaces the native go TCP-layer RPC's with JSON encoded requests over HTTP. This provides more flexibility, allows for CDN-style routing, and TLS if desired.

willscott commented 6 years ago

I just pushed another pass at cleaning this up.

The only comment I think i haven't addressed is why there isn't the same Run() interface on the coordinator. The main reason there is that it doesn't seem to have an extracted interface at the same level as a frontendserver or replicaservwr to work with - what exists for the coordinator right now is equivalent to the frontend.go - the actual application logic. We still need to add the coordinator server.go that exposes the interface for reading config and starting a coordinator, and the accompanying cli/talekcoordinator

willscott commented 6 years ago

I'm going to remove 'master' from travis as well, since i disagree with the failure being raised by CI - namely, it raises that libtalek/topic.go:1::warning: file is not gofmted with -s (gofmt) but (a) topic.go is not changed by the PR (b) on the latest release (go 1.9) the file is properly formatted, and there's no way to figure out what new warning has been added to trigger this without pulling from golang head. that doesn't seem worth it.

ryscheng-mobile commented 6 years ago

👍