Erpc Versions Save

An efficient, extensible and easy-to-use RPC framework.

v4.2.0

5 years ago
  • refactor logger
  • optimize some socket functions
  • interval of redialing each time

v4.1.1

5 years ago

improve 'rawProto' protocol and improve performance

v4.1.0

5 years ago

proxy plugin: Caller -> Forwarder CallCmd: add TracePeer() and TraceSession() methods plugin: clisession -> multiclient graceful: Support inherit 0 port listener CallCtx: add ReplyBodyCodec method add module diagram packet -> message add socket types alias

v4.0.0

5 years ago
  • merge the extension packages
  • improve semantics: pull -> call
  • running log is printed to one line

v3.9.0

5 years ago

fix bug:

  • the deadlock on pulling

incompatible update:

  • Config.ListenAddress -> Config.ListenPort, Config.LocalAddress -> Config.LocalIP
  • Rerror.Detail -> Rerror.Reason

peer:

  • support local address

log:

  • print the log that reaches ERROR level to the stderr writer

session:

  • add CloseNotify method to notify the connection that it gone away

config:

  • add checked field

v3.8.0

5 years ago

router:

  • Improve the logic of checking the validity of the handler
  • Allow PULL and PUSH router to have the same URI
  • Convert router type name to all uppercase letters

helper:

  • Add TryGo function

log:

  • Add GetLogger and GetLoggerLevel functions
  • Add OFF level to default logger
  • Improve log and rerror string
  • Change config field PrintBody to PrintDetail

plugin:

  • Update plugin container
  • Update auth and proxy built-in plugin

xfer:

  • Update XferFilter interface, add GetByName and NewXferPipe functions

codec:

  • Update protobuf
  • Add helper functions: Marshal Unmarshal MarshalByName and UnmarshalByName

contex:

  • Improve handling logic for reading packet error
  • Improve reply error content logic
  • Change the PullCmd interface method Result to Reply

fix bug:

  • The listener cannot be closed, when the listener just started without a connection
  • Return 400 error, when unmarshaling body failed
  • Competitively reading and writing map, when shutdown

other:

  • Add tps plugin example
  • Optimize codes and comment

v3.7.0

6 years ago

peer:

  1. Peer.Listen -> Peer.ListenAndServe
  2. Add Peer.ServeListener

router:

  1. Update the mapping rule of struct name (func name) to URI path
  2. toUriPath -> ToUriPath

codec:

  1. string codec -> plain codec
  2. add form(url encode) codec

rerror:

  1. Add rerror.SetMessage and rerror.SetDetail

packet:

  1. Change seq field type: uint64 -> string

log:

  1. Update log format

plugin-proxy:

  1. Forwarding using the client's session ID and packet sequence

other optimization

v3.6.0

6 years ago

Update some interfaces, not forward compatible

  1. Remove MetaRealId
  2. Add WithRerror function
  3. EarlySession -> PreSession
  4. PreReadHeaderPlugin: ‘PreReadHeader(PreCtx) *Rerror’ -> ‘PreReadHeader(PreCtx) error’
  5. Remove BaseSession
  6. plugin/auth.go: remove AuthSession.Id method
  7. Session.ResetConn -> Session.ModifySocket
  8. Control -> ControlFD
  9. Changes in other related details

v3.5.1

6 years ago

log: optimize log template examples: add async example session: update Session.AsyncPull method and PullCmd interface

v3.5.0

6 years ago

PullCmd interface:

  • Add InputBodyCodec method

socket.Packet struct:

  • Update URI featrue, change Url method to UriObject method
  • Merge UnmarshalNewBody and UnmarshalBody methods into UnmarshalBody method

meta feature:

  • Optimize WithAcceptBodyCodec and GetAcceptBodyCodec