You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the overview, I am not sure what "exported or local" means, nor how the RPC
package can distinguish local from unexported-but-not-local.
I am not sure if the arg types need to be exported for reflect. If you have a type t
(unexported), I don't know if reflect lets you reflect.New it.
There is no mention that struct fields need to be exported to be sent, at least in the
package doc. In fact that's probably not a true restriction now that we have codecs. A
custom codec could marshal and unmarshal types in its own package directly, without
using reflect, and thus access unexported fields. Maybe reword a bit to make it clear
which restrictions are imposed by package rpc and which by the choice of codec.
There is at least one "gob" (in quotes) that should probably be gob; others
don't use quotes.
The package doc says Go returns a channel, but it returns a *Call.
The package doc talks about a restriction based on object type, but the restriction is
actually based on name (now that we have RegisterName, there's a difference). Should
reword.
Not sure InvalidResult needs to be exported. I can't see how a client or server would
ever see one.
Also, does the use of InvalidResult mean that if you try to call a function expecting,
say, *int as the
result, but you get an InvalidResult (a struct, not an int) back, gob will produce a
decode error?
The text was updated successfully, but these errors were encountered:
notes to self:
can do reflect.New() of an unexported type, so that restriction can go
InvalidResult can probably be unexported, therefore, but the other question about it
needs analysis
The text was updated successfully, but these errors were encountered: