Thanks for the answer! I've created a tiny PR with docs 
update: https://github.com/grpc/grpc/pull/26396

Thanks!

On Monday, May 31, 2021 at 12:49:50 AM UTC+7 [email protected] wrote:

> https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests 
> mentions EOS which is described as 
>
> "For requests, EOS (end-of-stream) is indicated by the presence of the 
> END_STREAM flag on the last received DATA frame. In scenarios where the 
> Request stream needs to be closed but no data remains to be sent 
> implementations MUST send an empty DATA frame with this flag set."
>
>
> On Sun, May 30, 2021 at 7:18 AM Piotr Morgwai Kotarbinski <
> [email protected]> wrote:
>
>> I've noticed that in case of the java client code, calling 
>> `requestObserver.onCompleted()` results in a call to `
>> io.netty.handler.codec.http2.DefaultHttp2FrameWriter.writeData(...) 
>> <https://github.com/netty/netty/blob/18e92304a700c1b3664f5a3cf24ee3ed58bafbdd/codec-http2/src/main/java/io/netty/handler/codec/http2/DefaultHttp2FrameWriter.java#L136>`
>>  
>> with `endStream` param set to `true` in case of netty, and in case of 
>> okHttp in a call to `io.grpc.okhttp.internal.framed.Http2.Writer.data() 
>> <https://github.com/grpc/grpc-java/blob/d4e90a78fdb6af6579364c4b622edbfad9ebf37f/okhttp/third_party/okhttp/main/java/io/grpc/okhttp/internal/framed/Http2.java#L493>`
>>  
>> with `outFinished` param set to `true`. In both cases this results in 
>> `END_STREAM` flag to be set, so it seems my guess was correct. However some 
>> confirmation from someone more familiar with the protocol internals would 
>> be welcomed :)
>>
>> Thanks!
>>
>> On Sunday, May 30, 2021 at 2:26:51 PM UTC+7 Piotr Morgwai Kotarbinski 
>> wrote:
>>
>>> Hi all,
>>> I was reading the protocol overview here 
>>> https://github.com/grpc/grpc/blob/master/CONCEPTS.md#abstract-grpc-protocol
>>> One thing that is unclear to me is how a streaming client signals end of 
>>> its stream to a server (so called 'client half-closing'). The abstract part 
>>> says nothing about it. My only guess that in case of HTTP/2 implementation 
>>> clients basically close their input stream, but not sure about it. Could 
>>> someone with a deep knowledge of the protocol clarify this please?
>>>
>>> Thanks!
>>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "grpc.io" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/grpc-io/87e3fc86-f3c4-4c5a-8be7-e0b773b078d1n%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/grpc-io/87e3fc86-f3c4-4c5a-8be7-e0b773b078d1n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/0d571d1c-0aa8-4b90-9075-f8e5a444cfbdn%40googlegroups.com.

Reply via email to