diff --git a/content/getting-started/icerpc-protobuf-tutorial/server-tutorial.md b/content/getting-started/icerpc-protobuf-tutorial/server-tutorial.md index 48727282e..3865c7b6b 100644 --- a/content/getting-started/icerpc-protobuf-tutorial/server-tutorial.md +++ b/content/getting-started/icerpc-protobuf-tutorial/server-tutorial.md @@ -151,7 +151,6 @@ is a shortcut for: The main program then creates a [Server] that directs all incoming requests to `router`: ```csharp - using X509Certificate2 serverCertificate = X509CertificateLoader.LoadPkcs12FromFile( "certs/server.p12", password: null, diff --git a/content/icerpc-for-ice-users/ice-definitions/enum-types.md b/content/icerpc-for-ice-users/ice-definitions/enum-types.md index 7eaf82b77..4e89710ce 100644 --- a/content/icerpc-for-ice-users/ice-definitions/enum-types.md +++ b/content/icerpc-for-ice-users/ice-definitions/enum-types.md @@ -55,7 +55,7 @@ Fruit enumeration. ## cs:attribute metadata directive -The `"cs:attribute"`[cs-attribute] metadata directive adds the specified C# attribute to the mapped C# enum. You +The [`"cs:attribute"`][cs-attribute] metadata directive adds the specified C# attribute to the mapped C# enum. You can use it to add the [FlagsAttribute] to the mapped C# enum. For example: {% aside alignment="top" %} @@ -90,5 +90,6 @@ The `Flags` attribute is moderately useful with IceRPC since the decoding code o enumerators. For example, you won't be able to decode `6` for `Red` and `Green` since `6` doesn't correspond to any enumerator. +[InvalidDataException]: https://learn.microsoft.com/en-us/dotnet/api/system.io.invaliddataexception [cs-attribute]: https://docs.zeroc.com/ice/3.8/csharp/slice-metadata-directives#SliceMetadataDirectives-cs:attribute [FlagsAttribute]: https://learn.microsoft.com/en-us/dotnet/api/system.flagsattribute diff --git a/content/icerpc-for-ice-users/ice-definitions/fields.md b/content/icerpc-for-ice-users/ice-definitions/fields.md index 5069fabfc..82d941d33 100644 --- a/content/icerpc-for-ice-users/ice-definitions/fields.md +++ b/content/icerpc-for-ice-users/ice-definitions/fields.md @@ -4,7 +4,7 @@ description: Learn how Ice fields are mapped to C# --- An Ice field maps to a C# property with the same name converted to Pascal case. You can customize this C# name with the -`"cs:identifier"`[cs-identifier] metadata directive. +[`"cs:identifier"`][cs-identifier] metadata directive. The type of the C# field is the mapped Ice type; this C# type is nullable for proxies and classes. diff --git a/content/icerpc-for-ice-users/ice-definitions/operation.md b/content/icerpc-for-ice-users/ice-definitions/operation.md index 7f02b13a4..b3b55d492 100644 --- a/content/icerpc-for-ice-users/ice-definitions/operation.md +++ b/content/icerpc-for-ice-users/ice-definitions/operation.md @@ -125,7 +125,7 @@ public partial interface IGreeterService ## marshaled-result metadata directive -The `"marshaled-result"`[marshaled-result] metadata directive allows you to change the return type of the mapped +The [`"marshaled-result"`][marshaled-result] metadata directive allows you to change the return type of the mapped method on the generated Service interface: `marshaled-result` makes this method return a `ValueTask` instead of the usual `ValueTask`. diff --git a/content/icerpc-for-ice-users/rpc-core/communicator.md b/content/icerpc-for-ice-users/rpc-core/communicator.md index b8b05079b..372b84f2f 100644 --- a/content/icerpc-for-ice-users/rpc-core/communicator.md +++ b/content/icerpc-for-ice-users/rpc-core/communicator.md @@ -9,8 +9,7 @@ An Ice communicator has numerous responsibilities: - it creates and manages client connections - when the application makes an invocation, it selects the connection to use (and sometimes create this connection) - it provides invocation timeouts, invocation retries, logging/tracing, and metrics -- it's used to create object adapters - and more. +- it's used to create object adapters, and more. IceRPC replaces this multi-purpose `Communicator` with smaller, more focused objects and abstractions that you compose to get the behavior you want. diff --git a/content/icerpc/dispatch/incoming-request.md b/content/icerpc/dispatch/incoming-request.md index 427b1d19c..fe11eb4ca 100644 --- a/content/icerpc/dispatch/incoming-request.md +++ b/content/icerpc/dispatch/incoming-request.md @@ -56,5 +56,5 @@ only request features: since it's all local, there is no need for response featu [fields]: ../invocation/outgoing-request#request-fields -[IFeatureCollection]: csharp:IceRpc.Features.FeatureCollection +[IFeatureCollection]: csharp:IceRpc.Features.IFeatureCollection [IDispatchInformationFeature]: csharp:IceRpc.Features.IDispatchInformationFeature diff --git a/content/icerpc/ice-protocol/protocol-frames.md b/content/icerpc/ice-protocol/protocol-frames.md index 60ec66469..8e25d0037 100644 --- a/content/icerpc/ice-protocol/protocol-frames.md +++ b/content/icerpc/ice-protocol/protocol-frames.md @@ -228,4 +228,4 @@ set to 1.1. [ice-protocol]: https://docs.zeroc.com/ice/3.8/cpp/ice-protocol [ice-slice]: https://docs.zeroc.com/ice/3.8/csharp/the-slice-language [status-code]: ../invocation/incoming-response#status-code -[request-fields]: ../invocation/outgoing-request#request-field +[request-fields]: ../invocation/outgoing-request#request-fields diff --git a/content/icerpc/invocation/outgoing-request.md b/content/icerpc/invocation/outgoing-request.md index 8c996c4bd..54e4e1a25 100644 --- a/content/icerpc/invocation/outgoing-request.md +++ b/content/icerpc/invocation/outgoing-request.md @@ -104,6 +104,6 @@ only request features: since it's all local, there is no need for response featu [RequestFieldKey]: https://github.com/icerpc/icerpc-slice/blob/main/IceRpc/RequestFieldKey.slice [CompressionFormat]: https://github.com/icerpc/icerpc-slice/blob/main/IceRpc/CompressionFormat.slice -[IFeatureCollection]: csharp:IceRpc.Features.FeatureCollection +[IFeatureCollection]: csharp:IceRpc.Features.IFeatureCollection [ICompressFeature]: csharp:IceRpc.Features.ICompressFeature [IsOneway]: csharp:IceRpc.OutgoingRequest#IceRpc_OutgoingRequest_IsOneway diff --git a/content/icerpc/invocation/service-address.md b/content/icerpc/invocation/service-address.md index 6dbd3bcfe..59620c052 100644 --- a/content/icerpc/invocation/service-address.md +++ b/content/icerpc/invocation/service-address.md @@ -48,7 +48,7 @@ icerpc://hello.zeroc.com/hello?transport=quic Such a service address is typically used when making invocations with a connection cache. The connection cache uses the server address to establish or reuse a connection to the target server and send requests on this connection. -### Service address with two or more server addresses +## Service address with two or more server addresses A service address can specify additional server addresses with the `alt-server` query parameter. The value of this parameter is a server address without the `ice://` or `icerpc://` prefix. For example: diff --git a/content/slice/encoding/icerpc.md b/content/slice/encoding/icerpc.md index e9749e1a9..217c0dd0f 100644 --- a/content/slice/encoding/icerpc.md +++ b/content/slice/encoding/icerpc.md @@ -29,4 +29,4 @@ A service address is encoded as a URI [string]. This URI can be absolute or rela [outgoing request]: /icerpc/invocation/outgoing-request [outgoing response]: /icerpc/dispatch/outgoing-response [service address]: /icerpc/invocation/service-address -[string]: primitive-types#String +[string]: primitive-types#string diff --git a/content/slice/language-guide/operation.md b/content/slice/language-guide/operation.md index edb538bc9..75080dbe6 100644 --- a/content/slice/language-guide/operation.md +++ b/content/slice/language-guide/operation.md @@ -11,6 +11,7 @@ An operation consists of: - a name (the name of the operation) - a list of [parameters] (the operation parameters) - an arrow followed by one or more return [parameters] (optional) + For example: ```slice diff --git a/content/slice/language-guide/primitive-types.md b/content/slice/language-guide/primitive-types.md index 3a659018e..3447cfbde 100644 --- a/content/slice/language-guide/primitive-types.md +++ b/content/slice/language-guide/primitive-types.md @@ -72,4 +72,5 @@ The integer value determines the minimum number of bytes required in the encoded | varuint{32,62} | 16,384 to 1,073,741,823 | 4 | Any other value is encoded using 8 bytes. + [UTF-8]: https://en.wikipedia.org/wiki/UTF-8 diff --git a/content/slice/language-reference/slice-grammar.md b/content/slice/language-reference/slice-grammar.md index 84130c1b4..d18c4c83e 100644 --- a/content/slice/language-reference/slice-grammar.md +++ b/content/slice/language-reference/slice-grammar.md @@ -815,8 +815,9 @@ UndelimitedList [type-alias-guide]: /slice/language-guide/type-alias [attribute-guide]: /slice/language-guide/attributes -[doc-comment]: TODO -[keywords]: TODO -[streamed-parameters-guide]: TODO +[doc-comment]: /slice/language-reference/doc-comments +[keywords]: #lexical-grammar +[preprocessed]: /slice/language-reference/preprocessor-directives +[streamed-parameters-guide]: /slice/language-guide/parameters [utf-8]: https://en.wikipedia.org/wiki/UTF-8