@Test public void close_failsOnNullStatus() { thrown.expect(NullPointerException.class); stream.close(null, new Metadata()); }
@Override public final void close(Status status, Metadata trailers) { Preconditions.checkNotNull(status, "status"); Preconditions.checkNotNull(trailers, "trailers"); if (!outboundClosed) { outboundClosed = true; endOfMessages(); addStatusToTrailers(trailers, status); transportState().setClosedStatus(status); abstractServerStreamSink().writeTrailers(trailers, headersSent, status); } }
AbstractServerStream extends AbstractStream implements ServerStream, MessageFramer.Sink { @Override public final void close(Status status, Metadata trailers) { Preconditions.checkNotNull(status, "status"); Preconditions.checkNotNull(trailers, "trailers"); if (!outboundClosed) { outboundClosed = true; endOfMessages(); addStatusToTrailers(trailers, status); transportState().setClosedStatus(status); abstractServerStreamSink().writeTrailers(trailers, headersSent, status); } } }
AbstractServerStream extends AbstractStream implements ServerStream, MessageFramer.Sink { @Override public final void close(Status status, Metadata trailers) { Preconditions.checkNotNull(status, "status"); Preconditions.checkNotNull(trailers, "trailers"); if (!outboundClosed) { outboundClosed = true; endOfMessages(); addStatusToTrailers(trailers, status); transportState().setClosedStatus(status); abstractServerStreamSink().writeTrailers(trailers, headersSent, status); } } protected  AbstractServerStream(
      WritableBufferAllocator bufferAllocator, StatsTraceContext statsTraceCtx); }
AbstractServerStream extends AbstractStream implements ServerStream, MessageFramer.Sink { @Override public final void close(Status status, Metadata trailers) { Preconditions.checkNotNull(status, "status"); Preconditions.checkNotNull(trailers, "trailers"); if (!outboundClosed) { outboundClosed = true; endOfMessages(); addStatusToTrailers(trailers, status); transportState().setClosedStatus(status); abstractServerStreamSink().writeTrailers(trailers, headersSent, status); } } protected  AbstractServerStream(
      WritableBufferAllocator bufferAllocator, StatsTraceContext statsTraceCtx); @Override final void request(int numMessages); @Override final void writeHeaders(Metadata headers); @Override final void deliverFrame(
      WritableBuffer frame, boolean endOfStream, boolean flush, int numMessages); @Override final void close(Status status, Metadata trailers); @Override final void cancel(Status status); @Override final boolean isReady(); @Override final void setDecompressor(Decompressor decompressor); @Override Attributes getAttributes(); @Override String getAuthority(); @Override final void setListener(ServerStreamListener serverStreamListener); @Override StatsTraceContext statsTraceContext(); }
AbstractServerStream extends AbstractStream implements ServerStream, MessageFramer.Sink { @Override public final void close(Status status, Metadata trailers) { Preconditions.checkNotNull(status, "status"); Preconditions.checkNotNull(trailers, "trailers"); if (!outboundClosed) { outboundClosed = true; endOfMessages(); addStatusToTrailers(trailers, status); transportState().setClosedStatus(status); abstractServerStreamSink().writeTrailers(trailers, headersSent, status); } } protected  AbstractServerStream(
      WritableBufferAllocator bufferAllocator, StatsTraceContext statsTraceCtx); @Override final void request(int numMessages); @Override final void writeHeaders(Metadata headers); @Override final void deliverFrame(
      WritableBuffer frame, boolean endOfStream, boolean flush, int numMessages); @Override final void close(Status status, Metadata trailers); @Override final void cancel(Status status); @Override final boolean isReady(); @Override final void setDecompressor(Decompressor decompressor); @Override Attributes getAttributes(); @Override String getAuthority(); @Override final void setListener(ServerStreamListener serverStreamListener); @Override StatsTraceContext statsTraceContext();  }