Граф коммитов

828 Коммитов

Автор SHA1 Сообщение Дата
Christopher Warrington d1fb0e7faf Remove stale comment 2016-11-04 00:09:20 -07:00
Christopher Warrington 027c7b53d7 Update changelog 2016-11-04 00:09:07 -07:00
Christopher Warrington fbe37440c3 [c#] Fix debug/release mismatch in Fields config 2016-11-03 23:56:30 -07:00
Christopher Warrington 09f052ade9 [c# comm] Fix Mono build
* Simplify C# Comm compat test projects by having them follow what the
  other projects do.
* Use (semi-)standard (across Bond) order for elements.
* Reference core Bond assemblies via $(OutputPath) instead of hard-coded
  debug\net45.
* Reference comm Bond assemblies via ProjectReference items.
2016-11-03 23:56:30 -07:00
Eduardo Salinas 6b64e56ff8 [C++ Comm] Remove C++ Comm examples 2016-11-01 13:20:10 -07:00
Ted Stein 4fcf8649cf [macOS] Find brew-installed libpythons correctly.
Closes https://github.com/Microsoft/bond/pull/249
2016-10-31 16:01:17 -07:00
Ted Stein 7a837b4b96 [C++ Comm] Initial commit of C++ Comm. 2016-10-31 14:47:20 -07:00
Christopher Warrington 2bc8358859 [c# comm] Simplify redundant return await
Methods that never await anything except what they return can simply return
the Task that they were awaiting, eliminating some compiler-generated async
machinery.
2016-10-20 12:54:50 -07:00
Chad Walters a89fc2027d [C# Comm] Remove logger from LayerStackProvider
LayerStackProvider's constructor no longer requires a logger.
Defer initialization of the cached layer stack in the stateless case.
Pass in logger during send/receive operations instead.

Closes https://github.com/Microsoft/bond/pull/241
2016-10-18 15:16:40 -07:00
Chris Dahlberg 517d93c578 Added netstandard1.0 support to NuGet packages for portable projects. 2016-10-18 15:46:08 -05:00
Chris Dahlberg 6829035e0c Upgraded Newtonsoft.Json from 7.0.1 to 9.0.1. 2016-10-18 15:44:53 -05:00
Christopher Warrington 261143774c Demonstrate kind enum in polymorphic_container example
Show kind enum in polymorphic_container example

Instead of using the deprecated bond_meta::full_name, construct, the
example now demonstrates using an enum to indicate the kind.

Closes https://github.com/Microsoft/bond/issues/232
2016-10-17 15:30:29 -07:00
Christopher Warrington 5cbc9dbd47 [c#] Fix rebuilds when using BondCodegen.Options (#239)
If all of the items in the BondCodegen ItemGroup had their Options
metadata set, codegen was always invoked, as the dummy output file
bondfiles.tmp was never generated.

Now, the dummy output file (renamed to bondcodegen.done) is always
output, and the batched input file has been renamed to
bonddefaultcodegen.in.
2016-10-17 15:26:22 -07:00
Christopher Warrington 72675f5b42 Move logo to above the table of contents
* Logo is now embedded in the template and above the table of contents
* Move logo in README to be at the top and separated with a hr. This looks
  okay when rendered by GitHub and when rendered by Pandoc.
* README.md has gotten long enough that it can use a table of contents
* Use inline bash syntax highlighting for README.md: this doesn't highlight
  extra things like the python mode was doing, and looks reasonable for all
  the snippets, including the Windows CMD snippets
  * This also lets us to get rid of the index.html template--it was almost
    identical to the default.html template, but had some formatting colors
    overridden to black.

Closes https://github.com/Microsoft/bond/pull/237
2016-10-17 15:24:12 -07:00
Christopher Warrington 857e87fd2b Bring C++ and C# serialization examples in sync
Both examples now use the same schema and populate the object with the same
values.

Closes https://github.com/Microsoft/bond/pull/236
2016-10-17 15:19:27 -07:00
Christopher Warrington b4c2fc4472 Prepare for C# Comm 0.8.0 release 2016-10-12 14:58:36 -07:00
Christopher Warrington 53d3f7d22b [c# epoxy] Add connection keep-alive 2016-10-06 15:23:24 -07:00
Christopher Warrington 53ea136929 Add ability for CMake build to only make libraries
* If the  CMake variable BOND_LIBRARIES_ONLY  is set to TRUE,  then only
  the Bond libraries  will be built, skipping any tools.  gbc will still
  be built if it cannot be found, however, as gbc is needed to build the
  libraries.
2016-09-30 18:57:58 -07:00
Christopher Warrington 05190965ab Find precompiled gbc in a more idiomatic CMake way
* The environment variable BOND_GBC_PATH is also consulted as a
  directory to look for gbc in.
* We now use the CMake `find_program` function, which also searches in a
  bunch of standard CMake directories and respects a bunch of
  configuration points.
2016-09-30 18:57:58 -07:00
Chad Walters 939c298ff6 [IDL Comm] Move and rename SimpleInMem .bond file
Move SimpleInMem transport's .bond file to IDL directory and rename
to align with naming convention for other .bond files.

Closes https://github.com/Microsoft/bond/pull/233
2016-09-13 15:01:11 -07:00
Christopher Warrington 0934fb4639 Update Nuget test to version 5.0.0 2016-09-12 21:11:15 -07:00
Christopher Warrington d5aefd2f78 Prepare for 5.0.0 release 2016-09-12 20:32:35 -07:00
Christopher Warrington bfc9183460 [c#] Add logo to NuGet packages 2016-09-12 20:32:34 -07:00
Christopher Warrington 369a73a01c Add logos 2016-09-12 20:06:26 -07:00
Chad Walters c1e71e7313 [IDL Comm] Improve IDL for consistent naming
* [IDL Comm] Improve IDL for consistent naming

Conform to predominant IDL naming convention. Also pass service and method
names as separate strings. Minor fixups on empty string usage.

Closes [#231](https://github.com/Microsoft/bond/pull/231)
2016-09-12 19:43:01 -07:00
Christopher Warrington e9315ac5b6 Undo Bond.Runtime's limit to Newtonsoft.Json < 10
The Bond.Runtime NuGet package again only specifies a lower bound on its
Newtonsoft.JSON dependency. This reverts commit
e2be0bf3ec, which artificially limited the
upper bound to < 10. The previous behavior did not limit Bond.Runtime to
only working with Newtonsoft.Json 7.0.1. _However_, the default behavior
of NuGet (since 2.8) is to install the _lowest_ version of a package
that satisfied the constraints. This behavior can be overridden when a
package is installed, but that decision needs to be made by the consumer
of Bond.Runtime.

Closes https://github.com/Microsoft/bond/issues/212
2016-09-09 18:39:43 -07:00
Christopher Warrington c5c1db3d25 [c# comm] Remove error code from EpoxyHeaders
Errors are now communicated via a separate framelet type instead. Remove ErrorCode.OK. Get more consistent w.r.t. "message", "payload", and "error" in Epoxy and SimpleInMem.

Closes https://github.com/Microsoft/bond/pull/229
2016-09-09 13:17:26 -07:00
Christopher Warrington 1cb35aec61 [c# epoxy] Add support for mutual authentication
`EpoxyListeners` can now be configured to require clients to authenticate
themselves with a certificate. This is configured via the
`clientCertificateRequired` parameter when creating an
`EpoxyServerTlsConfig`.

Closes https://github.com/Microsoft/bond/pull/228
2016-09-08 10:23:48 -07:00
Christopher Warrington b6df009097 Remove bond.TypeDef.list_sub_type
The addition of `bond.TypeDef.list_sub_type` in commit
08fcff0c78 is causing compatibility issues
with users of Bond that have already serialized SchemaDef structs in
Simple Binary.

Until we can figure out a way around this, we're reverting the addition
of this field, returning `bond.TypeDef` to the schema is has had since
3.0.7.

The rest of the infrastructure for determining a ListSubType value
remains. Unit tests have been adjusted to exercise this infrastructure
directly instead of via SchemaDef/FieldDef/TypeDef.

Re-opens https://github.com/Microsoft/bond/issues/161
2016-09-06 17:28:41 -07:00
Ted Stein 51d5ba89e7 [C# comm] Update PingPong for client URI connections. 2016-09-01 16:04:36 -07:00
Ted Stein 7d2da0f11d [C# comm] Clarify the address format for EpoxyTransport. 2016-08-31 14:41:49 -07:00
Eduardo Salinas d6d2fcfb7a Skip GBC compilation 2016-08-29 10:39:16 -07:00
Christopher Warrington 9747a8d5ce [c++] Generate FromEnum for string conversions
* Generated enum types now have a `FromEnum` method that can be used to
  convert from an enum value to a string. Now generated enum types have
  all four of `ToEnum`, `FromEnum`, `ToString`, and `FromString`. (The
  `...Enum` variants return false on failure, while the `...String`
  variants throw.)
* enumerations example updated to demonstrate all four of these
  functions.
* Existing throwing `FromString` re-implemented in terms of non-throwing
  `ToEnum`.
* `ToString` is intentionally not implemented in terms of `FromEnum`, as
  `ToString` returns a reference to the name stored in the map.
  `FromEnum` copies this name into the output paramater.

Fixes https://github.com/Microsoft/bond/pull/223
2016-08-26 17:52:13 -07:00
Ted Stein 5e673765aa [c# epoxy] Clean up EpoxyProtocol. 2016-08-26 13:02:10 -07:00
Ted Stein 30137da7de [c# epoxy] Simplify layer data extraction. 2016-08-23 17:34:16 -07:00
Christopher Warrington 8940c95520 Edit changelog to reflect final logging interface 2016-08-23 16:20:03 -07:00
Christopher Warrington 9f7d6760ab Update Nuget test to version 4.3.0 2016-08-23 15:59:19 -07:00
Christopher Warrington 1230b3dcd7 Prepare for 4.3.0 release 2016-08-23 15:15:49 -07:00
Christopher Warrington dffdeb14cf [epoxy] TLS support
* Epoxy connections can now be secured using TLS. Only server authentication
  is currently supported.
* epoxy:// parsing updated to support epoxys://
* Mutual client/server authentication supported.
* `EpoxySocket` renamed to `EpoxyNetworkStream` and refactored to handle
   stream establishment.

Closes https://github.com/Microsoft/bond/pull/200
2016-08-18 19:35:19 -07:00
Christopher Warrington 6a0e167f69 [epoxy] Cache listener endpoint for after shutdown
Cache the EpoxyListener endpoint information so that it can be accessed
after socket shutdown for things like logging.

This resolves a sporadic unit test failure.

Minor adjustments to match style guide for things like private and
readonly.

Closes https://github.com/Microsoft/bond/pull/222
2016-08-18 19:35:02 -07:00
Christopher Warrington fae15daa84 [comm] Switch Error to only have one inner_error
Error now has a nullable<bonded<Error>> inner_error field. If multiple
errors need to be represented, the AggregateError struct and its error
code, MultipleErrorsOccured, can be used to collect these up.

Closes https://github.com/Microsoft/bond/pull/214
2016-08-18 19:34:50 -07:00
Eduardo Salinas 7638d66e08 Update readme
`PreferredToolArchitecture=x64` should be set before running the cmake generate command. This way the cmake cache will have the correct compilers and linkers.
2016-08-18 13:12:30 -07:00
Ted Stein 8d1ab3da13 [c#] Fix metrics tests. (#221)
Previously, the tests were failing, but the failure exceptions were getting
swallowed by an async void function. Additionally, this increases the length of
the pause for metrics to settle.

Closes https://github.com/Microsoft/bond/pull/221
2016-08-17 12:59:18 -07:00
Eduardo Salinas e2be0bf3ec Relax the upper bound of Newtonsoft Json dependency (#218)
- Bond can now be used with Newtonsoft.Json >= 7.0.1 and < 10
- Closes issue https://github.com/Microsoft/bond/issues/212
2016-08-15 16:53:59 -07:00
Chad Walters e359106375 [idl] Move .bond files to separate idl directory
- Separate .bond IDL files from language binding implementations.
- Convert comm IDL files to use C++-style naming convention.

Closes https://github.com/Microsoft/bond/pull/219
2016-08-15 11:13:33 -07:00
Christopher Warrington 8544ae9210 [c++] Refine noexcept specifications
* nullable's move constructors and set member function sometimes invoke
  new_value, which may perform an allocation that may throw.
* value_common's move constructor copies the input Reader, so it needs
  to be conditionally noexcept on being able to make a copy.

Closes https://github.com/Microsoft/bond/pull/215
2016-08-12 16:22:09 -07:00
Ted Stein 08431b750e [c#] Thread request IDs through to InternalServerErrors.
Provides unique ID per request that allows for correlation of otherwise opaque errors across client and server side.

Closes https://github.com/Microsoft/bond/pull/209

* fixup! 8546c997

* fixup! 8546c997

* fixup! 8546c997
2016-07-27 11:04:14 -07:00
Eduardo Salinas 8f08221059 Update Boost readme example (#210)
Follow up to pull request https://github.com/Microsoft/bond/pull/206

Boost would need to be updated to 14 to fit with the recent changes of using VS2015
2016-07-26 13:16:35 -07:00
Ted Stein b79f5d4c24 Merge pull request #208 from chwarr/chwarr/idn-support
[epoxy] Add basic IDN support to conn. strings
2016-07-22 14:10:00 -07:00
Ted Stein 864ab3aeec [gbc] Fully qualify names in generated C++ swap()s
Merges https://github.com/Microsoft/bond/pull/207.
2016-07-22 11:56:08 -07:00