• Rob Pike's avatar
    gob: beginning of support for GobEncoder/GobDecoder interfaces. · c91daefb
    Rob Pike authored
    This allows a data item that can marshal itself to be transmitted by its
    own encoding, enabling some types to be handled that cannot be
    normally, plus providing a way to use gobs on data with unexported
    fields.
    
    In this CL, the necessary methods are protected by leading _, so only
    package gob can use the facilities (in its tests, of course); this
    code is not ready for real use yet.  I could be talked into enabling
    it for experimentation, though.  The main drawback is that the
    methods must be implemented by the actual type passed through,
    not by an indirection from it.  For instance, if *T implements
    GobEncoder, you must send a *T, not a T.  This will be addressed
    in due course.
    
    Also there is improved commentary and a couple of unrelated
    minor bug fixes.
    
    R=rsc
    CC=golang-dev
    https://golang.org/cl/4243056
    c91daefb
encoder.go 6.71 KB