Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion config.json
Original file line number Diff line number Diff line change
Expand Up @@ -4854,7 +4854,7 @@
"groupId": "io.grpc",
"artifactId": "grpc-core",
"version": "1.82.0",
"nugetVersion": "1.82.0.1",
"nugetVersion": "1.82.0.2",
"nugetId": "Xamarin.Grpc.Core",
"type": "androidlibrary",
"mavenRepositoryType": "MavenCentral"
Expand Down
7 changes: 7 additions & 0 deletions source/io.grpc/grpc-core/PublicAPI/PublicAPI.Unshipped.txt
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ Xamarin.Grpc.Core.Internal.IRetryScheduler.Reset() -> void
Xamarin.Grpc.Core.Internal.IRetryScheduler.Schedule(Java.Lang.IRunnable? p0) -> void
Xamarin.Grpc.Core.Internal.IServerListener
Xamarin.Grpc.Core.Internal.IServerListener.ServerShutdown() -> void
Xamarin.Grpc.Core.Internal.IServerListener.TransportCreated(Xamarin.Grpc.Core.Internal.IServerTransport? p0) -> Xamarin.Grpc.Core.Internal.IServerTransportListener?
Xamarin.Grpc.Core.Internal.IServerStream
Xamarin.Grpc.Core.Internal.IServerStream.Attributes.get -> Xamarin.Grpc.Attributes?
Xamarin.Grpc.Core.Internal.IServerStream.Authority.get -> string?
Expand All @@ -203,6 +204,10 @@ Xamarin.Grpc.Core.Internal.IServerStream.WriteHeaders(Xamarin.Grpc.Metadata? p0,
Xamarin.Grpc.Core.Internal.IServerStreamListener
Xamarin.Grpc.Core.Internal.IServerStreamListener.Closed(Xamarin.Grpc.Status? p0) -> void
Xamarin.Grpc.Core.Internal.IServerStreamListener.HalfClosed() -> void
Xamarin.Grpc.Core.Internal.IServerTransport
Xamarin.Grpc.Core.Internal.IServerTransport.ScheduledExecutorService.get -> Java.Util.Concurrent.IScheduledExecutorService?
Xamarin.Grpc.Core.Internal.IServerTransport.Shutdown() -> void
Xamarin.Grpc.Core.Internal.IServerTransport.ShutdownNow(Xamarin.Grpc.Status? p0) -> void
Xamarin.Grpc.Core.Internal.IServerTransportListener
Xamarin.Grpc.Core.Internal.IServerTransportListener.StreamCreated(Xamarin.Grpc.Core.Internal.IServerStream? p0, string? p1, Xamarin.Grpc.Metadata? p2) -> void
Xamarin.Grpc.Core.Internal.IServerTransportListener.TransportReady(Xamarin.Grpc.Attributes? p0) -> Xamarin.Grpc.Attributes?
Expand Down Expand Up @@ -320,6 +325,7 @@ Xamarin.Grpc.Core.Internal.SerializingExecutor.Execute(Java.Lang.IRunnable? r) -
Xamarin.Grpc.Core.Internal.SerializingExecutor.Run() -> void
Xamarin.Grpc.Core.Internal.SerializingExecutor.SerializingExecutor(Java.Util.Concurrent.IExecutor? executor) -> void
Xamarin.Grpc.Core.Internal.SerializingExecutor.SetExecutor(Java.Util.Concurrent.IExecutor? executor) -> void
Xamarin.Grpc.Core.Internal.ServerTransportCreatedHandler
Xamarin.Grpc.Core.Internal.ServerTransportTransportReadyHandler
Xamarin.Grpc.Core.Internal.ServiceConfigUtil
Xamarin.Grpc.Core.Internal.ServiceConfigUtil.LbConfig
Expand Down Expand Up @@ -784,6 +790,7 @@ virtual Xamarin.Grpc.Core.Internal.NoopSslSession.Protocol.get -> string?
virtual Xamarin.Grpc.Core.Internal.NoopSslSession.PutValue(string? s, Java.Lang.Object? o) -> void
virtual Xamarin.Grpc.Core.Internal.NoopSslSession.RemoveValue(string? s) -> void
virtual Xamarin.Grpc.Core.Internal.NoopSslSession.SessionContext.get -> Javax.Net.Ssl.ISSLSessionContext?
virtual Xamarin.Grpc.Core.Internal.ServerTransportCreatedHandler.Invoke(Xamarin.Grpc.Core.Internal.IServerTransport? p0) -> Xamarin.Grpc.Core.Internal.IServerTransportListener?
virtual Xamarin.Grpc.Core.Internal.ServerTransportTransportReadyHandler.Invoke(Xamarin.Grpc.Attributes? p0) -> Xamarin.Grpc.Attributes?
virtual Xamarin.Grpc.Core.Internal.SpiffeUtil.SpiffeId.Path.get -> string?
virtual Xamarin.Grpc.Core.Internal.SpiffeUtil.SpiffeId.TrustDomain.get -> string?
51 changes: 51 additions & 0 deletions source/io.grpc/grpc-core/Transforms/Metadata.xml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,57 @@
public
</attr>

<!--
ServerListener.transportCreated(ServerTransport) is automatically dropped
from the bindings because its parameter type io.grpc.internal.ServerTransport
is unbound: ServerTransport implements io.grpc.InternalInstrumented, which is
dropped because its getStats() returns an unbound Guava ListenableFuture, and
the unresolved base makes the whole ServerTransport interface disappear during
the class-parse -> api.xml conversion. Dropping transportCreated left the
generated ServerListenerImplementor.java without an override for that abstract
method, breaking the Java build of any app referencing this binding (e.g. via
Xamarin.Firebase.Firestore).

Re-introduce a minimal ServerTransport interface (without the unbound
InternalInstrumented base) so the parameter type resolves, then re-add the
transportCreated method to ServerListener so the managed binding and the
generated Java implementor stay in sync.
-->
<add-node
path="/api/package[@name='io.grpc.internal']">
<interface abstract="true" deprecated="not deprecated" final="false" name="ServerTransport"
static="false" visibility="public" jni-signature="Lio/grpc/internal/ServerTransport;">
<method abstract="true" deprecated="not deprecated" final="false"
name="getScheduledExecutorService" native="false"
return="java.util.concurrent.ScheduledExecutorService"
jni-return="Ljava/util/concurrent/ScheduledExecutorService;" static="false"
synchronized="false" visibility="public" bridge="false" synthetic="false"
jni-signature="()Ljava/util/concurrent/ScheduledExecutorService;" />
<method abstract="true" deprecated="not deprecated" final="false" name="shutdown"
native="false" return="void" jni-return="V" static="false" synchronized="false"
visibility="public" bridge="false" synthetic="false" jni-signature="()V" />
<method abstract="true" deprecated="not deprecated" final="false" name="shutdownNow"
native="false" return="void" jni-return="V" static="false" synchronized="false"
visibility="public" bridge="false" synthetic="false"
jni-signature="(Lio/grpc/Status;)V">
<parameter name="p0" type="io.grpc.Status" jni-type="Lio/grpc/Status;" />
</method>
</interface>
</add-node>

<add-node
path="/api/package[@name='io.grpc.internal']/interface[@name='ServerListener']">
<method
abstract="true" deprecated="not deprecated" final="false" name="transportCreated"
native="false" return="io.grpc.internal.ServerTransportListener"
jni-return="Lio/grpc/internal/ServerTransportListener;" static="false"
synchronized="false" visibility="public" bridge="false" synthetic="false"
jni-signature="(Lio/grpc/internal/ServerTransport;)Lio/grpc/internal/ServerTransportListener;">
<parameter name="p0" type="io.grpc.internal.ServerTransport"
jni-type="Lio/grpc/internal/ServerTransport;" />
</method>
</add-node>

<remove-node
path="/api/package[@name='io.grpc.internal']/class[@name='AbstractServerStream']"
/>
Expand Down