Skip to content

arthurkiller/rpc

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rpc

This is a simple rpc framework.

Architecture


Router
	|-EndPoint
		|-Reader
		|-Writer
	|-Listern

TODO


  • Compatibility: 'grpc' register server feature
  • BUG: It looks like huge concurrent requests with small buffered reader/writer will cause crash.
  • Feature: EndPoint Notify(client close Router and report error.)
  • Feature: writer timeout using time.Tick instead of using time.After
  • Feature: Support Reader/Writer timeout(Defer/Deadline)
  • Feature: Support Large Message.
  • Feature: Error
  • Feature: Log
  • Feature: Route Rule
  • Test: Call timeout
  • Performance: Reuse EndPoint
  • Performance: Reuse Reader/Writer
  • Performance: Task Queue(May not useful, gc trace show there is no gc operation at all.)
  • Performance: Use lower level event module/shareReader/shareWriter
  • Security: transport
  • Protocol: Http Message
  • Protocol: Http 2.0
  • Compatibility: grpc api
  • Compatibility: grpc stream

About

A simple lightweight RPC framework written in GO.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 93.4%
  • Shell 6.3%
  • Protocol Buffer 0.3%