Commit Graph

260 Commits

Author SHA1 Message Date
Craig Tiller 20781ccf54 Merge pull request #1 from yang-g/c++api
C++api
2015-02-09 13:48:28 -08:00
Craig Tiller 0db1befae1 Progress 2015-02-09 13:47:39 -08:00
Yang Gao 5f4f0c3170 remove explicit 2015-02-09 13:45:28 -08:00
Craig Tiller 14a65f9760 Further progress 2015-02-09 13:13:14 -08:00
Craig Tiller 2dff17d33b Async API declarations 2015-02-09 12:42:23 -08:00
Craig Tiller df2c957eee Fix compile error 2015-02-09 10:49:38 -08:00
Craig Tiller 7f78d71b8d Add initial metadata stub 2015-02-09 10:47:32 -08:00
Craig Tiller 50950712c1 Further progress 2015-02-09 10:38:38 -08:00
Craig Tiller c4965751a0 Starting to scratch out the API 2015-02-09 09:51:00 -08:00
Craig Tiller 2ca4708921 Merge branch 'async-api-new' into c++api 2015-02-09 09:25:45 -08:00
Craig Tiller 6135107e4a New completion queue 2015-02-06 17:17:24 -08:00
Craig Tiller c56b2cb33c Add comments 2015-02-05 16:35:38 -08:00
Craig Tiller aa2ac59b5c Merge github.com:google/grpc into async-api-new 2015-02-05 13:44:05 -08:00
Yang Gao f229d4fd4d Merge pull request #359 from jboeuf/ssl_default_creds_integration
Adding support for loading the SSL roots from an environment variable.
2015-02-05 13:19:52 -08:00
Craig Tiller 4f9727326e Fix memory usage 2015-02-05 12:40:20 -08:00
Craig Tiller b7800c1544 Add some comments 2015-02-04 18:25:38 -08:00
Craig Tiller 2ea1074bd9 Merge github.com:google/grpc into async-api-new 2015-02-04 17:32:28 -08:00
Julien Boeuf 7413f10832 Adding linux specific env implementation. 2015-02-04 17:00:08 -08:00
Craig Tiller 4b6ab78f36 Merge github.com:google/grpc into async-api 2015-02-04 16:32:56 -08:00
Nicolas "Pixel" Noble 900dadb2df Merge branch 'master' of github.com:google/grpc into grpc-win32
Conflicts:
	include/grpc/support/time_win32.h
2015-02-04 23:41:51 +01:00
Nicolas "Pixel" Noble ee0c96c7fc Second draft of the win32 implementation.
-) Client code is now threadsafe.
-) The echo_client code runs and succeeds.
2015-02-04 23:35:41 +01:00
David Klempner 0c61dc52a1 Remove the platform specific time headers 2015-02-04 13:24:04 -08:00
David Klempner 01a0fb05a9 Merge branch 'master' into timespec 2015-02-04 13:14:13 -08:00
Craig Tiller 5de37830ad Merge pull request #392 from dklempner/timeval
Remove timeval functions
2015-02-04 13:03:32 -08:00
Craig Tiller d77c92bd98 Merge github.com:google/grpc into async-api-new 2015-02-04 12:25:17 -08:00
David Klempner c15622b95c Remove timeval functions
They only had one caller, which could easily be converted to use
timespec instead of timeval.
2015-02-04 12:02:17 -08:00
David Klempner 9b60fa3acd Make gpr_timespec no longer be a typedef for struct timespec in posix
The problem is that for the typedef to work we need _POSIX_C_SOURCE to
be defined properly before any file that uses gpr_timespec includes
anything. This is extremely fragile unless we change CFLAGS, which
probably isn't worth doing for this.
2015-02-04 09:48:53 -08:00
Craig Tiller ea61b07800 Updated the first test (which fails) 2015-02-03 19:19:27 -08:00
Nicolas "Pixel" Noble 21f627ad0a First draft of the win32 implementation of iomgr.
Caveats:
-) The win32 pollset isn't threadsafe (yet).
-) Only client code is implemented.
-) Only very simple code has been tested with it yet.
2015-02-04 02:13:04 +01:00
Julien Boeuf 4a0a394758 Fixing tsan errors in OpenSSL (#319)
- Added cross-platform implementation of gpr_thd_currentid();
- OpenSSL still shows some TSAN errors on OPENSSL_cleanse which is
  inherently not thread-safe but this should not matter:
  see
  http://stackoverflow.com/questions/26433772/why-does-openssl-cleanse-look-so-complex-and-thread-unsafe
2015-02-03 15:04:45 -08:00
Craig Tiller fb189f826e Flesh out batch API 2015-02-03 12:07:07 -08:00
Craig Tiller 034929cc31 Flesh out new API 2015-02-03 12:00:05 -08:00
Julien Boeuf 026a417def Adding support for loading the SSL roots from an environment variable.
- Had to add support for files and environment variables as well.
- I can't compile on windows so I'm sure there will be some issues.
- Tested end-to-end with the simple ssl fullstack test.
2015-02-02 18:36:37 -08:00
Craig Tiller fef766933e Back-end for new core API 2015-02-02 16:44:26 -08:00
Craig Tiller c4f0ebe63b Prepare for the new batch call API.
Rename all core API functions that are on their way to deprecation with
an _old tag across all wrappings.
2015-02-02 15:39:31 -08:00
Nicolas "Pixel" Noble c8fd2d1c01 Properly selecting chunks of code for the wakeup fd codepath. 2015-01-30 20:23:27 +01:00
Nicolas "Pixel" Noble 213ed91850 Re-enabling errors on warning, disabling unused parameter warning, and fixing all subsequent errors. 2015-01-30 02:11:35 +01:00
Craig Tiller 3b56a57b25 Merge pull request #157 from dklempner/eventfd
Add support for eventfd based kicking on linux.
2015-01-27 16:53:30 -08:00
Yang Gao 3ed874c861 sync up with master 2015-01-27 11:39:14 -08:00
Craig Tiller 6437bd5037 Merge github.com:google/grpc into javascript 2015-01-27 10:18:09 -08:00
David Klempner 6e8bdb9a02 Merge branch 'master' into eventfd
This includes nuking the special pollset_kick_windows.h, since it is no
longer relevant.
2015-01-26 15:37:23 -08:00
David Klempner 78dc6cdaeb Refactor the pipe/eventfd abstraction
This introduces the wakeup fd interface, corresponding approximately to
the existing Google version, complete with a ported giant detailed usage
comment.

The implementation has two layers, "specialized" and "fallback". The
specialized layer is intended to be a suitable platform specific
implementation like eventfd, whereas "fallback" is probably pipe, with
runtime detection of whether the specialized version works on this
system (currently stubbed out).
2015-01-26 15:02:51 -08:00
Yang Gao 5fd0d29dfe run clang-format 2015-01-26 00:19:48 -08:00
jboeuf 10f4620e93 Merge pull request #179 from ctiller/kill-printf
Remove uses of sprintf
2015-01-23 14:28:14 -08:00
Craig Tiller 485d77628d Move string.h to internal code 2015-01-23 12:54:05 -08:00
Craig Tiller 1fa4e15f7e Add define 2015-01-23 12:00:11 -08:00
Craig Tiller c0fc6a1f1f Add gpr_ltoa 2015-01-23 11:12:46 -08:00
murgatroid99 d10c0abaf6 Merge branch 'master' of github.com:google/grpc into merge_new_invoke_api 2015-01-23 09:11:39 -08:00
Craig Tiller 3cc24a6d7f Merge github.com:google/grpc into javascript 2015-01-23 08:08:45 -08:00
Jan Tattermusch ac139dead1 Merge pull request #153 from ctiller/windows-fixes
Windows fixes
2015-01-23 07:44:02 -08:00
David Klempner dbb4f942d0 Add support for eventfd based kicking on linux.
This adds support for eventfd based kicking, with the skeleton of
support for runtime selection between eventfds and pipes.
2015-01-21 17:45:18 -08:00
murgatroid99 48c9c4a59e Resolved merge conflicts with master 2015-01-21 17:12:04 -08:00
Tim Emiola 2021d03168 Merge pull request #149 from murgatroid99/node_bind_port_zero
Bind servers to port 0 in node tests
2015-01-21 16:04:00 -08:00
Craig Tiller dedbae744a Typo fix 2015-01-21 15:37:55 -08:00
Craig Tiller d14a1a5f04 Disable compilation of some files
They're not needed on Windows
2015-01-21 15:26:29 -08:00
Craig Tiller faadd2386c Add some documentation 2015-01-21 14:01:19 -08:00
Craig Tiller c50e398d65 First pass API for serving static data 2015-01-21 13:52:52 -08:00
murgatroid99 c896e192f7 Brought grpc_server_add_secure_http2_port in line with grpc_server_http2_port 2015-01-21 11:36:23 -08:00
Julien Boeuf 68ad53edf3 Fixing indent. 2015-01-20 22:37:03 -08:00
Julien Boeuf 8fbcc4391e Changing the SSL (Server) Credentials API.
- Changed the unsigned char * + size to NULL terminated strings which
  makes sense for the PEM format. I may change TSI later (but the impact
  will hopefully be much more limited).
- Added a way to pass multiple key/cert pairs to servers which is needed
  when hosting more than one domain.
- Removed the C++ SSL credentials tests as we are going to have an
  option to not specify the roots which will then be derived from the
  environment (well-known platform dependent locations and/or
  environment variable).
- Fixed the php build which is the only one added in the run_test.py.
  This change will certainly break node, python and ruby.
2015-01-20 22:18:15 -08:00
Craig Tiller 5188535a26 Merge branch 'new_invoke_api' of github.com:google/grpc into update-api 2015-01-16 15:24:17 -08:00
Craig Tiller 4ffdcd56ce Add an optional server shutdown event.
Allows servers to expedite shutdown once all in-progress calls are
completed. We may want to eventually remove grpc_server_shutdown in
preference to this.
2015-01-16 11:34:55 -08:00
Craig Tiller c8c8bfa403 Merge branch 'new_invoke_api' of github.com:google/grpc into update
Conflicts:
	src/core/surface/call.c
	test/core/end2end/tests/thread_stress.c
	tools/run_tests/run_tests.py
2015-01-15 22:57:02 -08:00
Craig Tiller 32946d37e0 () --> (void) 2015-01-15 11:37:30 -08:00
Craig Tiller 4f20042ce1 Remove grpc_call_accept 2015-01-15 10:17:45 -08:00
Craig Tiller 808632ed4b Remove grpc_call_start_invoke 2015-01-14 16:17:21 -08:00
Craig Tiller 09b637538f clang-format 2015-01-14 13:02:09 -08:00
Craig Tiller 6046dc35ef clang-format 2015-01-14 12:55:45 -08:00
Craig Tiller d248c24546 Update C++ code to set status via the C api.
This prevents mismatches from breaking tests.
2015-01-14 12:53:38 -08:00
Craig Tiller 2ba0dacbde Update C++ code to set status via the C api.
This prevents mismatches from breaking tests.
2015-01-14 11:49:12 -08:00
Craig Tiller 6d43445a1a Merge github.com:google/grpc into api 2015-01-14 11:19:09 -08:00
Craig Tiller dd330d6d68 Merge pull request #24 from nicolasnoble/win32
Various win32 fixes.
2015-01-13 21:13:44 -08:00
Nicolas "Pixel" Noble 80d68c09c4 Fixing test_config.c
Now all the gpr tests build and run under win32.
2015-01-13 20:14:43 -08:00
Nicolas "Pixel" Noble 27be1a2d3c Removing a few more traces of libevent. 2015-01-14 04:55:57 +01:00
Craig Tiller 40fc7a6632 clang-format codebase 2015-01-13 16:11:58 -08:00
Craig Tiller 375605b65f Merge github.com:google/grpc into api 2015-01-13 16:11:30 -08:00
Craig Tiller 80fa15c151 Moving prototype from Google to GitHub
I'd started some prototyping work on this change before the move to
GitHub; this change restores things.
2015-01-13 16:10:49 -08:00
Craig Tiller b5dcec5a2e clang-format codebase 2015-01-13 11:13:42 -08:00
jboeuf 6ad120e435 Moving the google-internal security code in their own files.
Checked that the opensource version still builds.

Just addressing core for now. We will do c++ later.
	Change on 2015/01/12 by jboeuf <jboeuf@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83804014
2015-01-12 17:36:57 -08:00
ctiller 570d1f4425 Return bound port number from grpc_server_add_http2_port.
Allows tests to bind to port 0 and still have clients connect to them.
	Change on 2015/01/12 by ctiller <ctiller@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83800669
2015-01-12 17:36:57 -08:00
yangg 1b151096d1 Add impl subdirectory under public and move headers that need to be installed
to it.
	Change on 2015/01/09 by yangg <yangg@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83640373
2015-01-12 11:22:02 -08:00
ctiller 0cd69562fd Allow logging mechanism to be overridden by applications.
This necessitated the removal of gpr_vlog to keep a clean interface.
	Change on 2015/01/09 by ctiller <ctiller@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83634996
2015-01-12 11:22:02 -08:00
ctiller 033afb3879 Fix for the Windows build
Change on 2015/01/09 by ctiller <ctiller@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83634893
2015-01-12 11:22:02 -08:00
yangg 4105e2b86c Add ServiceAccount Credentials wrapping and handle credentials creation
failure.
	Change on 2015/01/09 by yangg <yangg@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83634736
2015-01-12 11:22:01 -08:00
hongyu 24200d3cbc C implementation of Census trace store and stats store for grpc C lib.
Change on 2015/01/08 by hongyu <hongyu@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83556470
2015-01-09 17:52:43 -08:00
ctiller 58393c20bc Remove libevent.
Fixed any exposed bugs across the stack.

Add a poll() based implementation. Heavily leverages pollset infrastructure to allow small polls to be the norm. Exposes a mechanism to plug in epoll/kqueue for platforms where we have them.

Simplify iomgr callbacks to return one bit of success or failure (instead of the multi valued result that was mostly unused previously). This will ease the burden on new implementations, and the previous system provided no real value anyway.

Removed timeouts on endpoint read/write routines. This simplifies porting burden by providing a more orthogonal interface, and the functionality can always be replicated when desired by using an alarm combined with endpoint_shutdown. I'm fairly certain we ended up with this interface because it was convenient to do from libevent.

Things that need attention still:
- adding an fd to a pollset is O(n^2) - but this is probably ok given that we'll not
use this for multipolling once platform specific implementations are added.
- we rely on the backup poller too often - especially for SSL handshakes and for client
connection establishment we should have a better mechanism ([] []
- Linux needs to use epoll for multiple fds, FreeBSD variants (including
Darwin) need to use kqueue. ([] []
- Linux needs to use eventfd for poll kicking. ([]
	Change on 2015/01/07 by ctiller <ctiller@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83461069
2015-01-09 17:27:32 -08:00
ctiller e4b409364e Add a --forever flag, to continuously run tests as things change.
Change on 2015/01/07 by ctiller <ctiller@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83451760
2015-01-09 17:23:18 -08:00
ctiller 1a277ecd93 Remove libevent.
Fixed any exposed bugs across the stack.

Add a poll() based implementation. Heavily leverages pollset infrastructure to allow small polls to be the norm. Exposes a mechanism to plug in epoll/kqueue for platforms where we have them.

Simplify iomgr callbacks to return one bit of success or failure (instead of the multi valued result that was mostly unused previously). This will ease the burden on new implementations, and the previous system provided no real value anyway.

Removed timeouts on endpoint read/write routines. This simplifies porting burden by providing a more orthogonal interface, and the functionality can always be replicated when desired by using an alarm combined with endpoint_shutdown. I'm fairly certain we ended up with this interface because it was convenient to do from libevent.

Things that need attention still:
- adding an fd to a pollset is O(n^2) - but this is probably ok given that we'll not
use this for multipolling once platform specific implementations are added.
- we rely on the backup poller too often - especially for SSL handshakes and for client
connection establishment we should have a better mechanism ([] []
- Linux needs to use epoll for multiple fds, FreeBSD variants (including
Darwin) need to use kqueue. ([] []
- Linux needs to use eventfd for poll kicking. ([]
	Change on 2015/01/07 by ctiller <ctiller@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83461069
2015-01-08 13:01:56 -08:00
yangg ed5e7e006b Add deadline API on server side.
Change on 2015/01/06 by yangg <yangg@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83351442
2015-01-06 17:45:46 -08:00
ctiller d94ad10cf1 Provide a port of cpu related code to posix, and linux.
Properly set this up in our build environment.
	Change on 2014/12/23 by ctiller <ctiller@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82725899
2014-12-29 17:26:55 -08:00
yangg 7cebec7ccd Use overriden host name when creating a call.
Change on 2014/12/22 by yangg <yangg@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82672321
2014-12-29 17:13:16 -08:00
ctiller 3bf466fb6c Port [] alarm management to GRPC.
This change implements a platform independent alarm manager in alarm.c.
It's integrated with iomgr, and some tests are cleaned up.

The alarm implementation itself is a fairly direct port of LazyAlarmList from eventmanager.
SpinLock has been replaced for now with gpr_mu, and other atomic operations have been dropped (again, for now).
A majority of tests have been ported.
	Change on 2014/12/19 by ctiller <ctiller@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82551363
2014-12-29 17:05:35 -08:00
yangg 59dfc90f57 Client side implementation of creating channel with credentials.
The old test_ssl_channel related code is deleted and the new create channel
call is used for interop tests.
	Change on 2014/12/19 by yangg <yangg@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82540921
2014-12-29 16:59:06 -08:00
yangg a4b6f5df94 Add ServerContext. It is currently empty and deadline and metadata will come to
it in subsequent cl's.
	Change on 2014/12/17 by yangg <yangg@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82372934
2014-12-19 13:02:04 -08:00
jboeuf ab4f91458b Adding JWT generation and signing code for service accounts credentials.
Change on 2014/12/16 by jboeuf <jboeuf@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82279249
2014-12-16 17:26:10 -08:00
yangg fb3aa26c0e Fix comments regarding call_accept to reflect current API.
Change on 2014/12/16 by yangg <yangg@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82273000
2014-12-16 17:22:43 -08:00
ctiller 2845cade4c Trailing metadata support.
Actually exposing it from the C API.
Also removing grpc_status, since it's mostly useless.
	Change on 2014/12/15 by ctiller <ctiller@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82180546
2014-12-16 16:57:49 -08:00
ctiller 5e04b1376d Add a test for useful.h.
Additionally add rotl, rotr which will be needed to implement some hashing
functions shortly.
	Change on 2014/12/15 by ctiller <ctiller@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82149559
2014-12-15 14:32:14 -08:00
jboeuf befd26501a Adding base utils for JWT service account workflow. OpenSSL base64 decoding is
a disaster and does not support url_safe which we need for the JWT.
	Change on 2014/12/12 by jboeuf <jboeuf@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82020601
2014-12-12 16:36:06 -08:00
nnoble 8a67b5c281 Tweaking log calls a bit.
-) Introducing gpr_vlog so to spare a few vsprintf later (at least one for now)
-) Renaming statistics/log.* to statistics/census_log.* to avoid collisions.
	Change on 2014/12/12 by nnoble <nnoble@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=81995756
2014-12-12 16:20:22 -08:00
ctiller 9a58df0855 Explain server termination semantics a little better.
Change on 2014/12/11 by ctiller <ctiller@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=81923801
2014-12-12 16:12:03 -08:00
yangg 87da1b937d Make the default deadline gpr_inf_future to avoid mismatch between
gpr_inf_future and time_point::max(). The redundant AbsoluteDeadline prefix is removed from the utility function names.

Now the ClientContext holds a gpr_timespec instead of a time_point.

A test will be added in the server side deadline support cl.
	Change on 2014/12/11 by yangg <yangg@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=81920769
2014-12-12 16:08:10 -08:00
jtattermusch 57c6f0cade Add batch file that builds and executes all GPR tests.
Removed bad format test to fix gpr_string_test.
Also took care of some of the MS compiler warnings when compiling gpr_test_util.
	Change on 2014/12/11 by jtattermusch <jtattermusch@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=81900639
2014-12-11 15:11:44 -08:00
ctiller 18b49ab914 Introducing iomgr.
Move eventmanager and platform dependent endpoint functionality into a single
library called 'iomgr'.

This is primarily to prepare for a Windows port - where posix socket semantics
lead to poor quality code.

Mostly this is a code movement CL, with some small changes to help prepare the
way for porting:

- em style fd objects can only be held internally in iomgr, and own their memory
- added grpc_iomgr_create_endpoint_pair() to accomodate the common pattern of
creating a tcp endpoint from the output of socketpair - this will help keep
our tests portable
- separated em alarm interface into a separate file, as this part of event
manager is needed higher up the stack
- made the eventmanager bits a true singleton, simplifying API's across the
stack as there's no longer a reason to carry a pointer there.

Initial design document is here:
https://docs.google.com/document/d/1VmafcHvvrP5kwtQkz84R5yXF7u7fW-9Pn0bkSUQHDt8/edit?disco=AAAAARNByxg
	Change on 2014/12/09 by ctiller <ctiller@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=81716456
2014-12-09 16:20:55 -08:00
jtattermusch 98bffb779b Fixes for GPR library on Windows (+ getting rid of warnings under MS C++ compiler)
Change on 2014/12/09 by jtattermusch <jtattermusch@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=81704538
2014-12-09 16:20:55 -08:00
nnoble b5df72c050 Restoring atm_sync as it was lost during The Great Migration.
Change on 2014/12/08 by nnoble <nnoble@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=81636458
2014-12-09 16:20:55 -08:00
yangg 9e21f7281f Add server side credentials support.
Make interop test use ssl by default.
	Change on 2014/12/08 by yangg <yangg@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=81619141
2014-12-08 18:50:13 -08:00
jtattermusch 97fb3f6481 Add mako templates to generate MS Visual Studio projects.
Current state for Windows platform:
-- gpr and grpc_test_util can be compiled
-- gpr_log_test and gpr_cmdline_test pass
	Change on 2014/12/08 by jtattermusch <jtattermusch@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=81615574
2014-12-08 18:50:13 -08:00
nnoble 0c475f0ad7 Updating moe_db.txt with the latest equivalence since the ruby import changed the exported structure.
Change on 2014/12/01 by nnoble <nnoble@google.com>
-------------
new [] file for grpc testing.
	Change on 2014/12/02 by donnadionne <donnadionne@google.com>
-------------
Fix unfinished calls in thread_stress_test.

Previously we had an early return if we cancelled a stream part way through a
message. Correct this, so that half close and full close signals are propagated
up the stack correctly so that higher level state machines can see the
termination.
	Change on 2014/12/02 by ctiller <ctiller@google.com>
-------------
Remove dependency on internal C code.
	Change on 2014/12/02 by ctiller <ctiller@google.com>
-------------
Turn off the flaky bit from thread_stress_test.
	Change on 2014/12/02 by ctiller <ctiller@google.com>
-------------
Add test cases of empty request/response, request streaming, response streaming, and half duplex streaming.

Bring up the GFE/ESF for mannual test:
[] build java/com/google/net/[]/testing/integration/hexa:server_components_env
[]-bin/java/com/google/net/[]/testing/integration/hexa/server_components_env --manual --rpc_port=25000 --use_autobahn
	Change on 2014/12/02 by chenw <chenw@google.com>
-------------
Make echo/server.c and fling/server.c shutdown cleanly on SIGINT, and update
the relevant tests to exercise this mechanism.

Now "[] coverage" and the memory leak detector are able to see into the
server processes.
	Change on 2014/12/02 by pmarks <pmarks@google.com>
-------------
Allow the # of channels to be configurable in this performance test. The threads will use the channels in statically-defined round-robin order (not based on when RPCs complete on any channel). The interesting cases are #channels=1 or #channels=#threads (we previously only had the latter case)
	Change on 2014/12/02 by vpai <vpai@google.com>
-------------
Fixed a typo and reworded a comment.
	Change on 2014/12/02 by gnezdo <gnezdo@google.com>
-------------
Require the grpc_call in this ClientContext to be NULL before allowing set_call to be invoked. Otherwise, it's an indication of a leak somewhere.
	Change on 2014/12/02 by vpai <vpai@google.com>
-------------
Correctly return status other than ok and add a test for it.
	Change on 2014/12/02 by yangg <yangg@google.com>
-------------
Better C++ guards for grpc_security.h
	Change on 2014/12/02 by nnoble <nnoble@google.com>
-------------
Use nullptr instead of NULL for consistency.
	Change on 2014/12/02 by vpai <vpai@google.com>
-------------
Updates the ruby gRPC service class to require the serialization method to be
a static method

- this brings it inline with the proto3 ruby API
- it adds a monkey patch to allow existing proto (beefcake) to continue working.
	Change on 2014/12/02 by temiola <temiola@google.com>
-------------
Adding a buildable unit to the blue print file.

Added the buildable unit as its name will be usesd as tap project id.

This test will fail right away in tap until tests are actually added.
	Change on 2014/12/02 by donnadionne <donnadionne@google.com>
-------------
Move interop ESF C++ server from Java to grpc directory.

Tests passed:
[] test javatests/com/google/net/[]/testing/integration/hexa/...
[] test net/grpc/testing/interop/esf_server/...
	Change on 2014/12/02 by chenw <chenw@google.com>
-------------
Return a lame channel as opposed to NULL when secure channel creation fails.

- Looks like we're going to need something similar server-side.
- I changed the prototype of the lame client channel factory to take an
explicit void as I think this is better practice in C. Let me know if you
disagree and I will revert these changes.
	Change on 2014/12/02 by jboeuf <jboeuf@google.com>
-------------
Putting ALPN support where it belongs.
	Change on 2014/12/02 by jboeuf <jboeuf@google.com>
-------------
GOAWAY send path.

Sends a GOAWAY frame when shutting down.
This is not read and understood yet.
	Change on 2014/12/03 by ctiller <ctiller@google.com>
-------------
Adds support for secure channels and servers.

- wraps new C apis (credentials, server_credentials) and Server#add_secure_http_port
- adds tests to ensure credentials and server credentials can be created
- updates client_server_spec to run the client_server wrapper layer end-to-end tests using a secure channel
	Change on 2014/12/03 by temiola <temiola@google.com>
-------------
Fix existing issues regarding out of order events.

At the client side, using pluck as the client_metadata_read can happen anytime after invoke.

At the server side, allow halfclose_ok and rpc_end to come in reverse order.
	Change on 2014/12/03 by yangg <yangg@google.com>
-------------
Don't track coverage of tests.
	Change on 2014/12/03 by ctiller <ctiller@google.com>
-------------
Change UnaryCall to conform standard test requirement of LargeUnaryCall.
	Change on 2014/12/03 by yangg <yangg@google.com>
-------------
updating alpn version to h2-15 ensure all interop are on the same version and working.

Java and go are not ready for h2-16 yet.
	Change on 2014/12/03 by donnadionne <donnadionne@google.com>
-------------
Add config to bring echo server in [].

This is used to test production GFE as its bckend.
	Change on 2014/12/03 by chenw <chenw@google.com>
-------------
In preparation for fixing shutdown race issues, change em to take ownership of
the file descriptor. Add an API to grpc_tcp to take an already created
grpc_em_fd object, and change tcp_client to use that API.

This is needed because otherwise an em user's close() of the file descriptor
may race with libevent internals. That's not an issue yet because destroy()
frees the events inline, but that can't be done safely if there is a concurrent
poller.
	Change on 2014/12/03 by klempner <klempner@google.com>
-------------
Fixing TAP opensource build

We don't want to compile and run C++ tests in the C target.
	Change on 2014/12/03 by nnoble <nnoble@google.com>
-------------
Move and separate interop tests by languages.

Small fixes to the test runner.

Improving logging.
	Change on 2014/12/03 by donnadionne <donnadionne@google.com>
-------------
Fixing the opensource build:

-) The C/C++ split wasn't done up to the 'dep' target level
-) The alpn.c file was missing from build.json
	Change on 2014/12/03 by nnoble <nnoble@google.com>
-------------
Adding blue print files after projects exist
	Change on 2014/12/03 by donnadionne <donnadionne@google.com>
-------------
Refactor StreamContext using the new completion_queue_pluck API.

The dedicated the poller thread has been removed.
This CL keeps the current behavior to make it short. There is one following to
make it usable for both client and server.

The tags for pluck is based on the address of this StreamContext object for potential debug use.

The Read/Write and Wait cannot be called concurrently now and this might need to be fixed.
	Change on 2014/12/03 by yangg <yangg@google.com>
-------------
Binary encoding utilities.

Support base64 encoding, HPACK static huffman encoding, and doing both at once.
	Change on 2014/12/03 by ctiller <ctiller@google.com>
-------------
Enforce Makefile regeneration in presubmits.
	Change on 2014/12/03 by ctiller <ctiller@google.com>
-------------
Make CloseSend() send a real zero-length control message to indicate EOS.
	Change on 2014/12/03 by zhaoq <zhaoq@google.com>
-------------
Prefer to create dualstack sockets for TCP clients and servers, with automatic
fallback for environments where IPV6_V6ONLY can't be turned off.
	Change on 2014/12/03 by pmarks <pmarks@google.com>
-------------
Add opensource path to build targets.

Ensure that MOE is going to run.
	Change on 2014/12/03 by ctiller <ctiller@google.com>
-------------
Add PingPong test case. Delete FullDuplex test case. The latter is not specified for client in

https://docs.google.com/document/d/1dwrPpIu5EqiKVsquZfoOqTj7vP8fa1i49gornJo50Qw/edit#
	Change on 2014/12/03 by chenw <chenw@google.com>
-------------
Make generate_projects.sh check out the generated targets.
	Change on 2014/12/03 by ctiller <ctiller@google.com>
-------------
rspec cleanup

- stops declaring specs within the GRPC module
- splits Bidi streaming specs into a separate test suite

adding tests in the GRPC module was a mistake, it pollutes the module and can
affect other tests that run later by the test runner

the bidi tests are currently flaky, having them run in their own test suite
allows having two separate continuous builds (once ruby gRPC is on GitHub),
one that includes bidi where we tolerate flakiness, and another that does not,
where there should be no flakiness at all
	Change on 2014/12/03 by temiola <temiola@google.com>
-------------
Adding support for composite and IAM credentials.

- For now, we don't do any checks on credentials compatibility in the
composite credentials. Maybe we'll add that later.
- Refactored the end to end security tests so that we always use the public API
(except for the fake security context which is not exposed).
	Change on 2014/12/03 by jboeuf <jboeuf@google.com>
-------------
Make GPR library buildable in Visual Studio 2013.
	Change on 2014/12/04 by jtattermusch <jtattermusch@google.com>
-------------
Adds codegen for ruby

This is being added now that ruby's proto and grpc apis are defined and stable
	Change on 2014/12/04 by temiola <temiola@google.com>
-------------
Prevent NewStream() from sending negative or 0 timeout.
	Change on 2014/12/04 by zhaoq <zhaoq@google.com>
-------------
Add a grpc_sockaddr_to_string() function, and use it when logging bind
failures.  Also improve const-correctness in some earlier code.

I'm not certain whether inet_ntop() will need any platform-specific
implementations, but for now the compiler offers no complaints.

Demo:
$ []-bin/net/grpc/c/echo_server 1.2.3.4:80
... tcp_server.c:139] bind addr=[::ffff:1.2.3.4]:80: Permission denied
	Change on 2014/12/04 by pmarks <pmarks@google.com>
-------------
Refactoring - moves c wrapped classes to a submodule Google::RPC::Core

- this allows for an explicit rule when reading through gRPC ruby code for telling
when an object is pure ruby or wrapped C
	Change on 2014/12/04 by temiola <temiola@google.com>
-------------
Fixes the bidi_call

[]
	Change on 2014/12/04 by temiola <temiola@google.com>
-------------
Fixing dev build when activating surface traces.
	Change on 2014/12/04 by nnoble <nnoble@google.com>
-------------
Updates the tests to reflect that fact that some Credentials compose works.
	Change on 2014/12/04 by temiola <temiola@google.com>
-------------
Making the generate_project_test actually do something.
	Change on 2014/12/04 by nnoble <nnoble@google.com>
-------------
Rename "esf_server" to "[]4_server". Delete "test_sever" from Java directory.
	Change on 2014/12/04 by chenw <chenw@google.com>
-------------
Added PHP client interop tests. Tested large_unary against the C++ server.
	Change on 2014/12/04 by mlumish <mlumish@google.com>
-------------
Refactor grpc_create_dualstack_socket() by pulling the setsockopt into its own
function.  This separates the magic test flag from the real fallback logic.
	Change on 2014/12/04 by pmarks <pmarks@google.com>
-------------
Fixes the type of the constant used for test cert hostname
	Change on 2014/12/04 by temiola <temiola@google.com>
-------------
Disabling these tests as they're causing flakiness.
	Change on 2014/12/04 by ctiller <ctiller@google.com>
-------------
Change intptr --> uintptr.

Handles the case where a void* turns into a negative number, which then gets
hashed into a negative bucket and segfaults.
	Change on 2014/12/04 by ctiller <ctiller@google.com>
-------------
Add a test fixture to force parsers to handle one byte at a time.

This should expand coverage and hopefully prevent errors at some point (it
seems to pass out of the box for now though).
	Change on 2014/12/04 by ctiller <ctiller@google.com>
-------------
The code generator isn't +x.
	Change on 2014/12/04 by ctiller <ctiller@google.com>
-------------
Updates math_client and math_server to allow construction using crednetials

By:
- Extending rpc_server constructor so that it takes a credentials keyword param
- Extending client_stub constructor so that it takes a credentials keyword param
	Change on 2014/12/04 by temiola <temiola@google.com>
-------------
Format output a little more nicely.

Print each line of output separately - previously logging.info was truncating this at some maximum length, and logs were getting lost.
	Change on 2014/12/04 by ctiller <ctiller@google.com>
-------------
Up timeout for this test.

Under TSAN, if we process one byte at a time, this timeout can be reached - and I think this is the cause of the following flake:
[]
	Change on 2014/12/05 by ctiller <ctiller@google.com>
-------------
Adding more error logging for ssl.
	Change on 2014/12/05 by jboeuf <jboeuf@google.com>
-------------
Read path for goaway.

Still need to add hooks to deprecate a channel on the client side when goaway
is received.
	Change on 2014/12/05 by ctiller <ctiller@google.com>
-------------
Separate accept() into server_accept() and server_end_of_initial_metadata().

This allows servers to initiate reads before finishing writing metadata.
	Change on 2014/12/05 by ctiller <ctiller@google.com>
-------------
Fix for breakage 11512317 - adding missing test files.
	Change on 2014/12/05 by nnoble <nnoble@google.com>
-------------
grpc c++ server side streaming support.

This is based on [] There is a lot of room to clean up the internal implementation which may require refactoring of CompletionQueue. The current cl serves as a working implementation with the missing interfaces.

The sample generated files are included and will be removed before submitting.
	Change on 2014/12/05 by yangg <yangg@google.com>
-------------
Changed to the latest timeout format again (search "grpc-timeout" in [] for the spec).
	Change on 2014/12/05 by zhaoq <zhaoq@google.com>
-------------
Fixing opensource build.
	Change on 2014/12/05 by nnoble <nnoble@google.com>
-------------
Making absolutely sure we can do the moe export by adding a sh_test for it.
	Change on 2014/12/05 by nnoble <nnoble@google.com>
-------------
Change :scheme psuedo-header from "grpc" to "http" or "https".
	Change on 2014/12/05 by zhaoq <zhaoq@google.com>
-------------
Add server credential wrapping for c++ server. It only wraps ssl and []2 for now.

The ServerCredentials class and the factory class are in a similar fashion as
client side wrapping. The difference is the factory method returns shared_ptr
instead of unique_ptr as the server builder needs to keep a reference to it for
actually creating the server later.

The integration will happen in a following cl.
	Change on 2014/12/05 by yangg <yangg@google.com>
-------------
Fixed bugs in new_grpc_docker_builder.sh
	Change on 2014/12/05 by mlumish <mlumish@google.com>
-------------
In secure endpoint, hold a refcount for the life of a write callback if the
write does not complete immediately.
	Change on 2014/12/05 by klempner <klempner@google.com>
-------------
Add migration support to MOE and have TAP verify it doesn't break.

Migration support allows mirroring commits from [] into the git repo, instead of just a dump of the current source.
	Change on 2014/12/05 by ejona <ejona@google.com>
-------------
Change initial window size to 65535 according http2 draft 15.
	Change on 2014/12/05 by zhaoq <zhaoq@google.com>
-------------
Re-enable the flaky cases in dualstack_socket_test, with additional logging to
help track down the problem if it surfaces again.

This also seems like a good opportunity to make grpc_socket_utils a separate
library, as it's not really specific to TCP.

Example output:
logspam: [], 26570) resolved 2 addrs in 37ms:
logspam:   [0] [::1]:26570
logspam:   [1] 127.0.0.1:26570
	Change on 2014/12/05 by pmarks <pmarks@google.com>
-------------
Opensource build fixes.

-) A function that has a return type should actually return something.
-) Don't pass unsigned chars to strlen and strncmp.
	Change on 2014/12/05 by nnoble <nnoble@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=81458281
2014-12-05 16:00:44 -08:00
Nicolas Noble b7ebd3b8c6 Initial import. 2014-11-26 16:33:03 -08:00