Skip to content

Conversation

iamqizhao
Copy link
Contributor

Will submit concurrently with a gRPC codegen plugin push.

NOTE: This may break your build if you use your own codegen. Sorry for the breakage.

@iamqizhao
Copy link
Contributor Author

The main difficulty is that the existing code does unmarshalling in the generated code for unary rpc so that the server in grpc package does not have access to the received request proto (it only has the slice representation of the request).

@@ -419,9 +419,9 @@ func RegisterTestServiceServer(s *grpc.Server, srv TestServiceServer) {
s.RegisterService(&_TestService_serviceDesc, srv)
}

func _TestService_UnaryCall_Handler(srv interface{}, ctx context.Context, codec grpc.Codec, buf []byte) (interface{}, error) {
func _TestService_UnaryCall_Handler(srv interface{}, ctx context.Context, decodeFunc func([]byte, interface{}) error, buf []byte) (interface{}, error) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand why this needs to change. The knowledge of mapping []byte to some value is exactly the purpose of codec.

@iamqizhao
Copy link
Contributor Author

Yep, this is the best solution I am thinking of right now. Sure, let's think a bit more before moving forward. Thanks.

@iamqizhao
Copy link
Contributor Author

I do not think anything "wrong" here. It is reasonable to have decodeFunc to do slightly more than "decode" like RecvMsg in streaming case does tracing besides receiving a message. The thing is that unary case lacks one level abstraction (aka grpc.Stream) compared to streaming case and we have to compensate it for tracing purpose (unfortunately). And decodeFunc is a way to introduce this missing abstraction.

An simple alternative is to let methodHandler returns both request and response. But it seems worse than this one. The other alternative may involve non-benign refactoring and probably not worth doing that.

@dsymonds
Copy link
Contributor

dsymonds commented Oct 1, 2015

It wouldn't work for methodHandler to return the request, because it doesn't return until the RPC is over, so we wouldn't be able to see the requests for active RPCs.

This is the only place that codec appears in the generated code. There's a certain symmetry to pulling it out.

@dsymonds
Copy link
Contributor

dsymonds commented Oct 1, 2015

Okay, I'm just about convinced that what you've got here is approximately as good as we're going to get, even though I still think it's imperfect. Let me grab some food, and I'll give it one more thought; consider this a LGTM with a 1h timeout.

@dsymonds
Copy link
Contributor

dsymonds commented Oct 1, 2015

LGTM

It now occurs to me that we could repurpose streamHandler/Stream for unary RPCs. We already treat unidirectional streams (in either direction) as simply a special case of a stream, so we could do the same with unary RPCs. But we can consider that later.

dsymonds added a commit to golang/protobuf that referenced this pull request Oct 1, 2015
iamqizhao added a commit that referenced this pull request Oct 1, 2015
Enable payload tracing for unary rpc
@iamqizhao iamqizhao merged commit c97cae0 into grpc:master Oct 1, 2015
chai2010 added a commit to chai2010/protorpc that referenced this pull request Oct 2, 2015
vito added a commit to concourse/concourse that referenced this pull request Oct 17, 2015
…buf go-github errwrap go-multierror fsnotify tail go-update go-flags osext binarydist pty ansi mapstructure ginkgo gomega remote_syslog2 lager localip term agouti ifrit gosub yeller-golang crypto net oauth2 fsnotify.v0 yaml.v2

[finishes #105936760]

Submodule src/github.com/ActiveState/tail 068b729..05d326f:
  > Merge pull request #62 from florindragos/master
  > Merge pull request #32 from 0x001D/master
  > Merge pull request #56 from ActiveState/travis-gopkg-fix
  > solicit help with Windows support
  > change log entry for last PR
  > Merge pull request #53 from wagerlabs/v1
  > Use stable version of fsnotify
  > Modernize Dockerfile to use the golang image
  > Fix 'make fulltest' for newer docker versions
  > Update CHANGES.md
  > Merge pull request #50 from featalion/newline-fix
Submodule src/github.com/Sirupsen/logrus df78bc7..4643a7e:
  > Merge pull request #271 from Abramovic/master
Submodule src/github.com/cloudfoundry/gunk 7e034a7..b84f305:
  > Merge pull request #4 from glyn/master
  > Move gnatsd runner into its own package to avoid ginkgo dependency
  > Improve workpool test so each piece of work is unique, and assert the unique works happen
  > Improve throttler test so each piece of work is unique, and assert the unique works happen
  > Make Throttler simpler and safer
  > Introduce parallel work Throttler [#94716410]
  > Change Ω to Expect
  > Validate number of workers and pending size on work pool construction
  > Change Ω to Expect [#93246926]
  > Allow process to be injected into cmd object on Run
Submodule src/github.com/codahale/hdrhistogram fd3681c..954f16e:
  > Merge pull request #12 from toffaletti/master
  > Merge pull request #10 from jjolma/export-total-count
Submodule src/github.com/codahale/metrics 7d3beb1..7c37910:
  > Document the fix for FreeBSD.
  > Merge pull request #11 from cryptix/supportfreebsd
Submodule src/github.com/codegangsta/cli 96f1fed..aba9469:
  > Merge pull request #282 from cactus/master
Submodule src/github.com/concourse/atc 6947379..df54b1d:
  > fix err checking in api handler
Submodule src/github.com/concourse/blackbox 3dd4b91..4aa76b4:
  > update tail package
Submodule src/github.com/concourse/fly 8a3d0f1..53c1686:
  > fix for new go-update interfaces
Submodule src/github.com/golang/protobuf 6dfb160..deb4a5e:
  > Add support for repeated fields expressed using list notation, like ["a", "b", "c"].
  > Update gRPC codegen to match API update in grpc/grpc-go#370.
  > Ensure all field and method names are unique.
  > Fix dec_slice_packed_bool when bools are inefficiently encoded.
  > Simplify some code.
  > Fix race in text formatting of oneof fields.
  > Fix size of oneof fields when they are set to their zero value.
  > Minor refactoring of oneof enabling.
  > Make sure the package comment mentions all top-level messages.
  > Fix oneof wrapper type name disambiguation check.
  > Unconditionally generate the name= part of the protobuf struct field tag.
  > Add a oneof example to the test proto in the package document.
  > Merge into existing oneofs that are set to the same type.
  > Avoid panicking when text formatting a malformed oneof.
  > Remove unreachable error checks.
  > Expose the thorny part of the oneof metadata interpretation.
Submodule src/github.com/google/go-github 2570a87..9420d0f:
  > add Chris Broadfoot as contributor
  > Fix typo in ListOrgMembershipsOptions
Submodule src/github.com/hashicorp/errwrap 0000000...7554cd9 (new submodule)
Submodule src/github.com/hashicorp/go-multierror fcdddc3..d30f099:
  > append should flatten
  > append flattens one level, as the docs have always said
  > Prefix
  > if top-level error in flatten is not Error, return as-is
  > add docstring for flatten
  > Merge pull request #2 from hashicorp/f-flatten
Submodule src/github.com/hpcloud/tail 0000000...05d326f (new submodule)
Submodule src/github.com/inconshreveable/go-update f848a14...8455de1:
  > Merge branch 'maximchick-master'
  > a little more doc cleanup
  > add policy and docs about api-breaking changes
  > Pass the options struct by value.
  > fix comment
  > fix issue where an update would complete successfully if there was an error writing out the new binary
  > Merge pull request #22 from maximchick/master
  > fix import to internal vendored package
  > update readme with links helpful hints if your dependency broke
  > change project description
  > update README code example for new API
  > merge in master
  > version 2.0 feature-complete
  < Merge pull request #20 from convox/custom-httpclient
  < Merge pull request #19 from zachgersh/http-client
  < Merge pull request #15 from robdaemon/update_osext_location
  > first draft at 2.0 API
  > remove subpackages
Submodule src/github.com/jessevdk/go-flags 1acbbaf..2e3d1bd:
  > Lookup options in all parent commands
  > Output a blank .TP section after usage to fix rendering issue
  > Improve documentation of 'optional'
  > Store default literal value before parsing
  > Prefix default value in help with default:
  > Implement support for limiting argument values to a certain set
Submodule src/github.com/kr/pty 05017fc..f7ee69f:
  > run: don't override supplied SysProcAttr
  > Prevent arm64 file to be compiled anywhere else. Fixed #32.
  > Merge pull request #31 from hqhq/hq_add_arm64_support
Submodule src/github.com/mgutz/ansi 22ddafb..c286dce:
  > add off to disable colors
  > Merge pull request #6 from hirakiuc/patch-1
Submodule src/github.com/mitchellh/mapstructure 442e588..281073e:
  > Update mapstructure_examples_test.go
  > Merge pull request #38 from shurcooL/add-decodeViaJSON-benchmark
  > clarify comment
  > Fields don't need to be anonymous to support "squash"
  > add another test
  > introduce ZeroFields, starting to work with maps
  > implement errwrap.Wrapper
  > add test for decoding direct struct
  > Merge pull request #31 from hectorj/handle-struct
  > Merge pull request #34 from mitchellh/f-decode-hook-type
  > Create .travis.yml
  > Merge pull request #33 from mcos/bugfix/uint-handling
Submodule src/github.com/onsi/ginkgo 1b59c57..39d2c24:
  > Merge pull request #191 from robdimsdale/move-compiled-file
  > Merge pull request #190 from robdimsdale/master
  > Update travis.yml
Submodule src/github.com/onsi/gomega d6c945f..2152b45:
  > Merge pull request #112 from robdimsdale/master
  > Merge pull request #113 from cf-guardian/master
  > update changelog: mention WithTransform and boolean matchers
  > pull oracle matcher into its own package
  > Merge pull request #108 from jim-slattery-rs/composition
  > Merge pull request #111 from sykesm/verify-proto
  > Merge pull request #105 from sykesm/verify-form
  > add 1.5 to travis
  > Merge pull request #103 from rosenhouse/occurred
Submodule src/github.com/papertrail/remote_syslog2 5af1f41..d121b66:
  > README formatting tweak
  > Merge pull request #58 from papertrail/packaging
  > Merge pull request #72 from featalion/update-tail-newline-fix
  > Merge pull request #65 from papertrail/check-interval-string
Submodule src/github.com/pivotal-golang/lager 09a71f6..be52ae6:
  > Merge pull request #14 from drnic/patch-1
  > Change Ω to Expect [#93246926]
  > Merge pull request #8 from apoydence/patch-1
Submodule src/github.com/pivotal-golang/localip ca5f124..c773e5f:
  > Change Ω to Expect [#93246926]
Submodule src/github.com/pkg/term 2266b46..d7ef5fb:
  > Merge pull request #12 from liamstask/callin-device-support
  > Cleanup ioctl
  > skip two more tests on linux
  > exclude other errors on linux
  > Merge branch 'master' of github.com:pkg/term
  > Skip tests that would fail against a non tty
  > Added darwin support
  > Merge branch 'master' of github.com:pkg/term
  > added pty support for darwin
  > Use Pty for test device
  > Added termios.Pty method
  > Added wercker.yml
Submodule src/github.com/sclevine/agouti fa33857..ce62464:
  > Document that a WebDriver's HTTPClient always takes precedence over a Page's
  > Add an Option for using a custom http.Client in WebDrivers/Pages
  > Increase default timeout for all WebDrivers to 10 seconds
  > Add *ByName selection methods that select by an element's name attribute
  > Fix godoc typo + fix minor linting issue in element tests
  > Simplify struct lists in tests and color parser
  > Add support for clearing sessionStorage on page.Reset
  > Add support for clearing localStorage on page.Reset
  > Improve bus error reporting for unparsable errors
Submodule src/github.com/tedsuo/ifrit 4d62400..3a41de6:
  > Merge pull request #10 from jfmyers9/master
  > Merge pull request #9 from jenspinney/wip-bbs-ssl
  > Add same check for Interrupt that exists for Kill
Submodule src/github.com/vito/gosub d2b9a41..2aa7c2b:
  > list in deterministic order
  > list in batches to avoid arg list too long
  > fix fix
  > Merge pull request #3 from glyn/master
  > Merge pull request #4 from tedsuo/ignore-submodules
  > Merge pull request #2 from jfmyers9/master
Submodule src/github.com/yeller/yeller-golang e03edbb..7d011e7:
  > Merge pull request #7 from snorecone/fix-funcs
  > Merge pull request #6 from snorecone/silent-errors
Submodule src/golang.org/x/crypto c57d4a7..c8b9e63:
  > x/crypto: Add pkcs12 package for reading pkcs12 data
  > golang.org/x/crypto/openssh: don't loop forever after a bad password.
  > x/crypto/ssh: Add protocol version to ServerVersion
  > crypto/ssh: Support turning a crypto.Signer into an ssh.Signer
  > otr: Fix revealing MAC keys when a DH key is rotated
  > crypto/ssh: Parse ECDSA key using struct
  > openpgp: Handle signatures that have multiple signature packets
  > openpgp/clearsign: Correctly handle whitespace-only lines
  > crypto/ssh: clearer error messages when "no ciphers in common"
  > ocsp: use asn1.Enumerated for revocation reason
  > x/crypto/poly1305: fix memory alignment fault in ARM
  > crypto/ssh: fix deadlock during error condition.
  > x/crypto/ssh: close memPipe after running kex test.
  > x/crypto/ssh: implement curve25519-sha256@libssh.org key agreement.
  > x/crypto/ssh/test: test all key exchanges against sshd.
  > ocsp: Remove "explicit" tag from "revokedInfo"
  > crypto/ssh: Handle error in dial to avoid a goroutine leak
  > crypto/ssh: allow client to specify host key algorithms.
  > ssh: fix flake in TestHostKeyCert
  > ssh: fix deadlock during error path
  > ssh: skip TestHandshakeBasic on Plan 9
  > x/crypto: add support for Tiny Encryption Algorithm (TEA)
  > x/crypto/openpgp/packet: validate parsed rsa private keys
  > crypto/openpgp: make it possible to set the key length
  > openpgp: Fix panic on v3 public keys with too-short modulus.
  > openpgp: Fix panic on opaque subpackets with length 0.
  > crypto/ssh: allow identities to be constrained.
  > ssh: fix spelling of test so that it runs
  > crypto/ssh: fix a comment (trivial)
  > poly1305/arm: allow building with Go 1.3
  > x/crypto/ssh: fix comment
  > go.crypto/openpgp/packet: fix comment typo.
  > x/crypto/ssh: fix bounds check in parseString
  > crypto/openpgp: don't panic on nil private signing key in Encrypt
  > ssh: Add explicit type in comparison with constant to make go-fuzz happy
  > crypto/ssh: fix format string error in test.
  > crypto/ssh: trivial spacing change for gofmt compliance
  > x/crypto/openpgp: cross-signature validation for signing subkeys.
  > crypto/openpgp: select newest valid encryption subkey
  > ocsp: pre-serialized responses and improved ASN.1
  > crypto/openpgp: add serialization for encrypted key packets
  > x/crypto/ssh: add padding oracle countermeasures for AES-CBC.
  > ocsp: fix test on TZ=UTC systems
  > poly1305: fix compilation on arm with go tip
  > x/crypto/poly1305: add ARM assembly
  > ssh: add hmac-sha2-256.
  > x/crypto/ssh: bail early if a server has no auth methods configured.
  > x/crypto/openpgp: Limit packet recursion depth.
  > crypto/ssh: fix encoding of ssh certs with critical options
  > crypto/ssh: update references to the old code.google.com repo
  > crypto/ssh: fix the links to the SSH protocol documents
  > sha3: fix TestAppend to loop twice, to match the comments.
  > crypto/ssh: add support for aes128-cbc cipher.
Submodule src/golang.org/x/net 47990a1..cd8c270:
  > http2: add support for net/http.Server.ConnState tracking
  > http2/hpack: push down max string length checking further, improve docs
  > http2/h2demo: allow alternate hostnames for http and https links
  > http2: update copyright headers
  > http2, http2/hpack: add limit on sum of header block fragments
  > http2: don't leaving hanging server goroutines after RST_STREAM from client
  > http2: fix handling of errors from the readFrames goroutine
  > http2/hpack: fix nil pointer dereference crash in huffman decoder
  > http2: fix enforcement of max header list size
  > http2: change two debug log.Printf calls to vlogf
  > http2/hpack: make staticTable an array, not a slice
  > http2: advertise and enforce hpack max header list size
  > http2: move where cookies are joined to avoid quadratic behavior
Submodule src/golang.org/x/oauth2 2fbf3d7..ef4eca6:
  > small typo fix in clientcredentials.go
Submodule src/gopkg.in/fsnotify.v0 0000000...ea925a0 (new submodule)
Submodule src/gopkg.in/yaml.v2 49c95bd..53feefa:
  > Merge pull request #119 from xtreme-sameer-vohra/v2
  > Add simple example of field renaming.
  > Merge pull request #106 from realzeitmedia/gofmt
  > Fix omitempty support for floats.
  > fix bug: width() always returns width of first character!
  > add failing test cases
joachimvaldez added a commit to cloudfoundry/diego-release that referenced this pull request Aug 4, 2016
[finishes #118012213]

Submodule src/code.cloudfoundry.org/executor 1753bf7..22fd272:
  > Send MemoryBytesQuota and DiskBytesQuota to loggregator metrics
Submodule src/github.com/cloudfoundry/dropsonde 9b2cd8f..7783e26:
  > Add Events method to FakeMetricSender
  > Add Send method to FakeMetricSender
  > Add Send func to metrics package
  > Add Send method to metric sender
  > Renames autowiredEmitter to DefaultEmitter
  > Fix batch counter data race
  > Makes the BatchCounterChainer an interface
  > The fake needs to reset envelopes as well as messages
  > Remove dead sender/batchers from unmarshaller suite
  > Add back FakeMetricSender since consuming packages are using it
  > Add chaining API to batch counters in dropsonde
  > Add timestamp to envelope with new chaining API
  > Update fakes to match new metrics sender interface
  > Add Counter chaining API to metrics
  > Looks for multiple occurrences of X-Forwarded-For
  > Allow pending tests until the flaky test is fixed
  > Merge remote-tracking branch 'origin/master'
  > Pend flaky test in log_sender package
  > Add chaining capabilities for Values and ContainerMetrics to the metrics package
  > Clean up the metric sender, as well
  > Replace exported interface types with exported concrete types
  > Add tagging to metric_sender
  > Remove submodule that we no longer need
  > Support go 1.5 and 1.6
  > No longer try to 'go get' tools that are built in to go
  > Revert "Support X-Forwarded-For"
Submodule src/github.com/cloudfoundry/sonde-go 06a12a3..27b0c70:
  > Regenerate Go code from new version of dropsonde-protocol
  > Regenerate Go code from new version of dropsonde-protocol
  > Regenerate Go code from new version of dropsonde-protocol
  > Regenerate Go code from new version of dropsonde-protocol
  > Regenerate Go code from new version of dropsonde-protocol
  > Regenerate Go code from new version of dropsonde-protocol
  > Regenerate Go code from new version of dropsonde-protocol
  > Renames sonde.go to doc.go
  > Merge branch 'ematpl-master'
  > Regenerate Go code from new version of dropsonde-protocol
  > Regenerate Go code from new version of dropsonde-protocol
  > Regenerate Go code from new version of dropsonde-protocol
  > Regenerate Go code from new version of dropsonde-protocol
  > remove ParentRequestID from httpStartStop event
  > Regenerate Go code from new version of dropsonde-protocol
  > Regenerate Go code from new version of dropsonde-protocol
  > Regenerate Go code from new version of dropsonde-protocol
  > Remove now-unneeded heartbeat.pb.go
  > Regenerate Go code from new version of dropsonde-protocol
  > Regenerate Go code from new version of dropsonde-protocol
  > No longer generate code for control events
  > Regenerate Go code from new version of dropsonde-protocol
  > Regenerate Go code from new version of dropsonde-protocol
  > Regenerate Go code from new version of dropsonde-protocol
Submodule src/github.com/gogo/protobuf 6cab0cc..e33835a:
  > Authors file and consistent licensing
  > refixed jsonpb handling of old byte slices
  > fix for jsonpb bytes customtype
  > fixes for nil and empty bytes in maps
  > fixed gostring bug for XXX_InternalExtensions
  > merged 78b168c14fc28c8c711844d210f7ab845083e3b1 from golang/protobuf
  > merged 9e6977f30c91c78396e719e164e57f9287fff42c from golang/protobuf, this included changes to code generation for nil messages in maps
  > merged e51d002c610dbe8c136679a67a6ded5df4d49b5c from golang/protobuf
  > merged 874264fbbb43f4d91e999fecb4b40143ed611400 from golang/protobuf
  > merged af59feb4214c835e81558f78e88b58bf034a7319 from golang/protobuf
  > merged 3852dcfda249c2097355a6aabb199a28d97b30df from golang/protobuf
  > merged f6b4231c7fd7ac9df487f17759fc107fd61d98a0 from golang/protobuf
  > merged 5386fff85b00d237cd7d34b2d6ecbb403eb42eb8 from golang/protobuf
  > merged ba6f978a1a6606adf3ccb6987f15c64262bfdbc2 from golang/protobuf
  > merged f43dfb5ff114b82b6bff2fe6b18f64ca4145681b from golang/protobuf
  > merged 1111461c35931a806efe06a9a43ad52a24c608ff from golang/protobuf
  > merged cd85f19845cc96cc6e5269c894d8cd3c67e9ed83 from golang/protobuf
  > merged a4ab9ec5de4f205e5aa1809eae63857f1e655c78 from golang/protobuf
  > merged 2ebff28ac76fb19e2d25e5ddd4885708dfdd5611 from golang/protobuf
  > merged f0a097ddac24fb00e07d2ac17f8671423f3ea47c from golang/protobuf
  > merged 78550bb1d05cd1ea812b182b603bf401a7d33ce9 from golang/protobuf
  > merged dda510ac0fd43b39770f22ac6260eb91d377bce3 from golang/protobuf
  > merged 8d92cf5fc15a4382f8964b08e1f42a75c0591aa3 from golang/protobuf
  > merged 2fea9e168bab814ca0c6e292a6be164f624fc6ca from golang/protobuf which involves moving grpc
  > merged 99511271042a09d1e01baea8781caa5210fec66e from golang/protobuf
  > merged b9504f23731d0b61ccfff7370a161d6c857ca00d from golang/protobuf
  > merged 0fd8c908d872c921af513ef5091964bbd2e0d904 from golang/protobuf
  > merged cde632b2dfc9b2747363b9ad6efa68c902944a27 from golang/protobuf
  > merged c75fbf01dc6cb73649c4cd4326182c3e44aa9dbb
  > merged 2fc053c57e60ac4997412fcc5cf05a1bb892188e from golang/protobuf
  > merged b3392a2965eaf83a934d81e8aede92fdb9ad061e from golang/protobuf
  > govet
  > merge 001690d39bd620847bb265d93a7c5e1bd3737308 and 62e4364d64b32762febb61f2c88c0a29bc49a225 from golang/protobuf
  > Merge branch 'master' of https://github.com/gogo/protobuf
  > merged 545732fb9671625a62a399186a066c4f8b942bc5 and 0c1f6d65b5a189c2250d10e71a5506f06f9fa0a0 from golang/protobuf
  > descriptor is marshaled and gzipped for faster compilation
  > fixed test for proto versions smaller than 3
  > nopackage map code generation fix
  > fix compare for extensions
  > compare method generator added
  > one build server
  > grpc merged from golang/protobuf e3aaa3aa25c1c69c346988da1c9baa87b6016576 and 331aba25e29be6408a842fca779ec9c0526d9409 even though rest of gogo/protobuf is still waiting for proper wkts
  > fix for issue 164: customtype arrays were not handled correctly
  > fix for issue 167 nested map bug
  > Merge pull request #165 from tamird/proto3-customtype-null
  > Merge pull request #162 from alberts/patch-1
  > Merge pull request #163 from alberts/patch-2
  > fix for issue 161: repeated extensions unmarshal
  > fix for issue 158
  > Merge pull request #156 from tamird/map-deterministic-marshalling
  > merged d20896fc31fb0e955e57970d61eb6eea054ff048 from golang/protobuf
  > merged b982704f8bb716bb608144408cff30e15fbde841 from golang/protobuf
  > merged 45bba206dd5270d96bac4942dcfe515726613249 from golang/protobuf
  > merged 6aaa8d47701fa6cf07e914ec01fde3d4a1fe79c3 from golang/protobuf
  > merged 5fc2294e655b78ed8a02082d37808d46c17d7e64 from golang/protobuf
  > merged 2402d76f3d41f928c7902a765dfc872356dd3aad from golang/protobuf
  > merged 4df416cb47b2e9f43a56776922e284f3e678166e from golang/protobuf
  > merged 04eac41517df87aa1adec44b1c032a027b546f05 from golang/protobuf
  > merged 68415e7123da32b07eab49c96d2c4d6158360e9b from golang/protobuf
  > README ready for markdown
  > merged 087949061006daa57b3a3be58d77092cf65f6cf7 from golang/protobuf
  > merged 7c1e7ed8fe018f62b754d076c31088b7cc9ea449 from golang/protobuf
  > merged 8e6e0a5025c9281db7eed8bffad0dc0920084b90 from golang/protobuf
  > merged 02ac84f19cf2febf53ac06e7fbc446c1ea0258e3 from golang/protobuf
  > merged 57346232f21afd1b0138cc10fbdd43c4d17e6c16 from golang/protobuf
  > merged 4a63085a886242d4e41ab91fbff2ef27775defba from golang/protobuf
  > Merge pull request #153 from tamird/regenerate
  > added contributors
  > Merge pull request #148 from stevvooe/enum-customname
  > updated to go1.6
  > Merge pull request #143 from dennwc/protosizer_quickfix
  > Merge pull request #140 from dennwc/protosizer
  > fix for pr/139
  > regenerate
  > add float32/64 casttype tests
  > remove errcheck dependency for build servers
  > optimization for byte slice unmarshaling
  > try changing travis folder for protobuf
  > change proto3 version to 3.0.0-beta-2
  > go1.5.2 is tested
  > updated travis to build go1.5.2
  > added an endless loop populated test
  > fix for issue 128: custom types for proto3 nullable=true was not working
  > fix for non-nullable repeated gostring
  > more testing for asym equal
  > fix for issue 125
  > fixed castvalue Makefile for older protoc versions
  > regenerated code and moved some castvalue tests and made populated more loopable
  > Merge pull request #121 from smarterclayton/nullable_map_values
  > Merge pull request #124 from tormoder/patch-1
  > fixed write optimization for non .pb.go files
  > merged 8cf720c393043e52c9da1e8c980e9bd4f89fa672 from golang/protobuf
  > merged d3d78384b82d449651d2435ed329d70f7c48aa56 from golang/protobuf
  > merged a1dfa5ef89a13a0aa4be5a6f81179db10bfeea36 from golang/protobuf
  > merged a7f1e751cd175bd11754879c715f33783f361723 from golang/protobuf
  > merged f9dd69311256bf5269b6632030882549175aa21f from golang/protobuf
  > merged e63abb1d3424c469c1366e3d4b211c49ae1337a1 from golang/protobuf
  > updated descriptor
  > merged f6bf928caf1b618acfa90c0b99f84184b65054f4 from golang/protobuf
  > merged ea3f88094ef7cc50011a343eedb2128fed6ba9a3 from golang/protobuf
  > merged efcaa340c1a788c79e1ca31217d66aa41c405a51 from golang/protobuf and dont sort map keys in generated marshaling code
  > fixed json unmarshaling for enum_stringer users
  > merged 5baca1b63153b1a82014546382edbdd302b138b6 from golang/protobuf
  > merged 8a5d8e8b138f1baa1f27f7bb0941013c46ec2afb from golang/protobuf
  > merged 9ebc6c4ed925b1323a0b11cea09e527cdc4e557c from golang/protobuf
  > merged 0ea3c033ce27e6af07fad5229bd22ad896cdbd02 from golang/protobuf
  > merged 5d7f79bcf383219d69ddd0edf148166689fdf7fc from golang/protobuf
  > merged deb4a5e3b15dea23f340a311eea995421845c356 from golang/protobuf
  > fixed for issue 115
  > golang/protobuf@8081512#commitcomment-13649053
  > merged 3d2510a4dd961caffa2ae781669c628d82db700a from golang/protobuf
  > merge 8081512d5bf6d07341a19043dac2396eec31bbe6 from golang/protobuf
  > merged 0c959e80d8acfedb1ecd50c9f14a58cee287dc95 from golang/protobuf
  > fixed another fuzz test
  > fuzz tests found unchecked errors
  > fixed some fuzz tests
  > more exposed methods in the generator
  > Merge pull request #104 from ceram1/comment-from-ext
  > merge 535a10468679b4cf155f6a7afdf53b554633fc09 from golang/protobuf
  > made protoc-gen-gogo also use the vanity/command like all the other commands
  > moved protoc-gen-combo and protoc-min-version and the version library to the root
  > gostring prints less nil values
  > Merge branch 'master' into oneof
  > print out seeds for failing size tests
  > oneof: customname is starting to work
  > oneof: casttype is starting to work
  > oneof: proto3 marshalling fixed
  > all the shadows
  > vet shadow
  > vet
  > oneof: dont check errors that are always nil
  > oneof: more tests and customtype is starting to work
  > oneof: proto3 marshal fix
  > oneof: fixed populate maxfield bug
  > print out seed for failing tests
  > oneof: better wireType errors and verbose equal fix
  > merge 1dceb1a2654bdc74ca97ad91f71f500eecc96269 from golang/protobuf
  > merge 6a514e697ffedcf5d6164f65cb159cf58602c599 from golang/protobuf
  > merge 9fa1be771c31716598ee886c52af380246058132 from golang/protobuf
  > merge 483e329c7aa200b7e10dcd9cf3aa513fb77c1d01 from golang/protobuf
  > merge ef197e1a5f817199945aa5c661145b2c5f4b963f from golang/protobuf
  > merge 61b9593c6ea6768fd683086d347fb6196deb08a2 from golang/protobuf
  > merge a57d29119a1033efed1843acbb96f5d6bc4ce9a0 from golang/protobuf
  > merge 73ca790d138754f6ea69987ab1edfc80efa53905 from golang/protobuf
  > merge 1baed096cdc1f056b34b41868532bc37c9548d6b from golang/protobuf
  > merge 6dfb160b2754e3b3fa583fbd0c207dfab2e836e5 again from golang/protobuf
  > merge 6dfb160b2754e3b3fa583fbd0c207dfab2e836e5 from golang/protobuf
  > oneof: gofmt and proto3 oneof tests
  > oneof: more tests
  > oneof: errcheck and defaults are working again, vet is still lacking
  > oneof: unmarshal in starting to work
  > oneof: gostring is starting to work
  > oneof: stringer is starting to work
  > oneof: size is starting to work
  > oneof: populate plugin is starting to work
  > better get methods for oneof
  > oneof: marshalto is starting to work
  > oneof: equal plugin is starting to work
  > merged oneof 59b73b37c1e45995477aae817e4a653c89a858db from golang/protobuf
  > fixed bug where big uint64s wrap to negative numbers when cast to int
  > merge 1e35a3a79e6fc8eedefdbeb905eddf7455fa0f4b from golang/protobuf
  > merge 21f8136f20e8fcb2cf25c81db1b154e1107d6705 from golang/protobuf
  > merge 31db569afeb67dbdf7bbd946007bad19ff41f250 from golang/protobuf
  > travis matrix builds replacing dockertest
  > merge 3fe63ce68cbebfe60e042dacfd768e103f874cae from golang/protobuf
Submodule src/github.com/golang/protobuf 5677a0e..c3cefd4:
  > README: add compatibility section
  > proto: Prevent Any protos from being deserialized multiple times.
  > protoc-gen-go: Make proto3 scalar repeated fields packed by default (per the proto3 spec).
  > proto: don't panic when calling ExtensionDescs on an uninitialized message.
  > regenerate .pb.go
  > proto: check for required fields when unmarshalling groups
  > jsonpb: sort numeric proto keys in numeric order
  > fix compiler golden test
  > jsonpb: add option to ignore unknown fields in a message
  > proto: regenerate proto3.pb.go from .proto file
  > net/proto2/go: add GetAllExtensionDescs returns a []*ExtensionDesc
  > proto: import change from Google.
  > protoc-gen-go/grpc: pass file descriptor for service as Metadata
  > proto: s/Printf/Print/ where there's no format verb
  > ptypes: regen and remove transforms from regen.sh
  > protoc-gen-go: export the generated variable name of the FileDescriptor bytes
  > Make proto.RegisterFile public for gRPC
  > Fix marshalAny's handling of indentation.
  > Add missing error check in jsonpb's marshal implementation.
  > net/proto2/go: make a slight change to how we handle []byte fields
  > proto: allow text proto map keys to be omitted or order swapped
  > proto: fix equality to work with V1 generated format
  > net/proto2: remove <message>.ExtensionMap() from generated messages
  > proto: return error from Marshal if a message encodes to > 2GiB
  > proto: clean up proto API for extensions
  > Use grpcPkg for a bit of code gen that overlooked it.
  > jsonpb: Marshal Any according to the spec.
  > Correctly set OrigName for oneof fields.
  > Update the grpc plugin to support the grpc-go interceptor implementation.
  > jsonpb: Fix handling of repeated enums.
  > Improve error message when text unmarshaling a nested message with a required field.
  > Use reflection-driven field accesses under GopherJS.
  > Add specific error for oneof with nil element.
  > Add Any helper funcs to the ptypes package.
  > Expose the gRPC code generation plugin.
  > jsonpb: Accept both camelCase and orig_name as field names for oneof fields.
  > Add support for decoding a stream of JSON objects.
  > Switch use of strings.LastIndexByte to strings.LastIndex.
  > A few small bits of style modernisation, such as using append where it makes the code shorter and more natural.
  > Generate the new go_package options for the WKTs.
  > Add compatibility markers to grpc generated code.
  > Use the zero value when decoding a map element that is missing its key or value.
  > Implement new semantics for `option go_package`.
  > Support for google.protobuf.Any expansion in text marshaling and unmarshaling.
  > jsonpb: Handle Struct and NullValue WKTs.
  > Generate Descriptor method for groups.
  > Generate a XXX_WellKnownType method for NullValue.
  > jsonpb: Format and parse the WKTs in wrappers.proto.
  > Add remaining Go-supported WKTs to the list of types to generate XXX_WellKnownType for.
  > Generate XXX_WellKnownType method for recognised well-known types.
  > Add Timestamp helper funcs to the ptypes package.
  > Rearrange the well-known types package layout and API:
  > Add initial well-known types support package.
  > Configurable TextMarshaler for protos.
  > Add more well-known types: Struct, Timestamp and Wrappers.
  > Add well-known types.
  > Switch jsonpb.Marshaler to use camelCase by default.
  > Add support for plumbing json_name from protoc through to proto.Properties.
  > Extend the text format parser to allow concatenation of string literals in single quotes.
  > jsonpb: Don't emit zero value proto3 fields by default.
  > Adding repeated field data population example
  > Clarify jsonpb package docs.
  > Add compatibility markers to proto generated code.
  > Fix proto.Equal handling of proto3 bytes fields.
  > Update docs to mention the proto3 API differences.
  > Add some more Markdown annotations.
  > By popular demand, rename README to README.md and make Markdown consistent.
  > Generate sizer functions for oneofs.
  > Regenerate protos.
  > Fix unmarshaling code to properly handle multiple instances of the same extension appearing in the wire format. Prior to this change, multiple custom options would result in all but the first being discarded when processed using the proto.GetExtension() facilities.
  > Document parameters in README
  > Generate correct service name for gRPC services without a package name.
  > Remove a test that has outlived its usefulness.
  > Add compressed file descriptor code generation.
  > Unexport proto.MessageSet, and remove a bunch of its support.
  > Expand proto.RegisterType mapping to record both directions (name <-> reflect.Type), and add two functions to access the mapping.
  > Merge pull request #91 from tswast/plain
  > Always import non-weak imported proto packages.
  > Register all proto message types with a centralised registry.
  > jsonpb: Implementing marshaling of proto2 extensions.
  > Another minor performance improvement to the code generator.
  > Regenerate descriptor.pb.go to pick up FileDescriptorProto.json_name.
  > Various optimisations to protoc-gen-go.
  > Don't sort map keys when encoding a map field in wire format.
  > Forward oneof marshal/unmarshal funcs through public imports.
  > jsonpb: Remove Marshaler.EnumsAsString.
  > jsonpb: Disable Marshaler.EnumsAsString; it is now the default.
  > jsonpb: Introduce Marshaler.EnumsAsInts.
  > Fix jsonpb parsing of enums as names for proto3.
  > Add support for repeated fields expressed using list notation, like ["a", "b", "c"].
  > Update gRPC codegen to match API update in grpc/grpc-go#370.
  > Ensure all field and method names are unique.
  > Fix dec_slice_packed_bool when bools are inefficiently encoded.
  > Simplify some code.
  > Fix race in text formatting of oneof fields.
  > Fix size of oneof fields when they are set to their zero value.
  > Minor refactoring of oneof enabling.
  > Make sure the package comment mentions all top-level messages.
  > Fix oneof wrapper type name disambiguation check.
  > Unconditionally generate the name= part of the protobuf struct field tag.
  > Add a oneof example to the test proto in the package document.
  > Merge into existing oneofs that are set to the same type.
  > Avoid panicking when text formatting a malformed oneof.
  > Remove unreachable error checks.
  > Expose the thorny part of the oneof metadata interpretation.
  > Update Go version requirements and copy oneof info from lib.go.
  > Allow `make` to run with non-GNU `sed`.
  > Implement oneof support.
  > Print out malformed generated code in a useful way.
  > jsonpb: Fix spelling of Marshaler.
  > jsonpb: Simplify JSON field name selection.
  > jsonpb: Reject unknown fields when parsing into a struct.
  > Only generate imports in GenerateImports, and move the `var _ pkg.Blah` lines to Generate time.
  > Fix handling of RequiredNotSetError being returned by fields that implement Marshaler.
  > Sort numerically-keyed maps by numeric value.
  > Rename structPointer_Map to structPointer_NewAt.
  > Fix Merge (and Clone) for proto3.
  > Fix protoc-gen-go/Makefile to work under go1.
  > Change how init functions are written in the generated Go.
  > Check in generated .pb.go files for the jsonpb test proto.
  > jsonpb: New package.
  > More accurately report text parsing failures for invalid strings.
  > Return errors getting extensions when formatting text, rather than writing the error to stderr.
  > Update README to reflect gRPC support.
  > Fix code generation for extensions of a publicly imported message.
  > Remove "optional" keyword in proto3 test file.
  > Behave gracefully when text formatting a map field with a nil value.
  > Add support for default values in proto extensions.
  > Return a descriptive error when a map field has a nil element.
  > Record the use of possibly-foreign enum types as map values.
  > Add proto3.pb.go to the repo. I don't know why it was missing.
  > Accept comma and semicolon characters in text format maps.
  > Address a few lint suggestions.
  > Check we get both key and value from a decoded map entry.
  > Generate import paths in accordance with the standard Go package layout.
  > Eliminate proto.Unmarshal from generated gRPC code.
  > Adjust generated gRPC code to accommodate non-protobuf wire formats.
  > Fix Size for maps.
  > Fix encoding and sizing of empty byte slices in proto3 maps.
  > Implement SetDefaults for maps. Skip proto3 scalar fields instead of panicking.
  > Use full import paths for test protos.
  > Switch the properties Mutex to a RWMutex.
  > Suppress Enum() and UnmarshalJSON() for publicly imported proto3 enums.
  > If a user passes a nil extension value to SetExtension(), return a useful error message.
  > Improve error message for nil values in repeated fields.
  > Add gRPC code generation.

Signed-off-by: Chris Piraino <cpiraino@pivotal.io>
Signed-off-by: Nima Kaviani <nkavian@us.ibm.com>
Signed-off-by: Chris Piraino <cpiraino@pivotal.io>
Signed-off-by: Nima Kaviani <nkavian@us.ibm.com>
Signed-off-by: Brandon Shroyer <bshroyer@pivotal.io>

bump dropsonde

[finishes #118012213]

Submodule src/github.com/cloudfoundry/dropsonde 7783e26...a80bd29:
  > Merge pull request #18 from joachimvaldez/FakeMetricSender
  < Add Events method to FakeMetricSender

Signed-off-by: Joachim Valdez <valdezj@us.ibm.com>
Signed-off-by: Brandon Shroyer <bshroyer@pivotal.io>
@lock lock bot locked as resolved and limited conversation to collaborators Jan 20, 2019
dfawley pushed a commit to dfawley/grpc-go that referenced this pull request Sep 24, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants