fix some spell errors

pull/18706/head
SataQiu 6 years ago
parent 10e39e316c
commit c99ac03b11
  1. 2
      doc/core/grpc-polling-engines.md
  2. 2
      examples/csharp/HelloworldXamarin/iOS/AppDelegate.cs
  3. 2
      examples/ruby/without_protobuf/echo_client.rb

@ -135,7 +135,7 @@ Code at `src/core/lib/iomgr/ev_epollex_posix.cc`
- The same FD can be in multiple `Pollable`s (even if one of the `Pollable`s is of type PO_FD) - The same FD can be in multiple `Pollable`s (even if one of the `Pollable`s is of type PO_FD)
- There cannot be two `Pollable`s of type PO_FD for the same fd - There cannot be two `Pollable`s of type PO_FD for the same fd
- Why do we need `Pollable` of type PO_FD and PO_EMTPY ? - Why do we need `Pollable` of type PO_FD and PO_EMPTY ?
- The main reason is the Sync client API - The main reason is the Sync client API
- We create one new completion queue per call. If we didn’t have PO_EMPTY and PO_FD type pollables, then every call on a given channel will effectively have to create a `Pollable` and hence an epollset. This is because every completion queue automatically creates a pollset and the channel fd will have to be put in that pollset. This clearly requires an epollset to put that fd. Creating an epollset per call (even if we delete the epollset once the call is completed) would mean a lot of sys calls to create/delete epoll fds. This is clearly not a good idea. - We create one new completion queue per call. If we didn’t have PO_EMPTY and PO_FD type pollables, then every call on a given channel will effectively have to create a `Pollable` and hence an epollset. This is because every completion queue automatically creates a pollset and the channel fd will have to be put in that pollset. This clearly requires an epollset to put that fd. Creating an epollset per call (even if we delete the epollset once the call is completed) would mean a lot of sys calls to create/delete epoll fds. This is clearly not a good idea.
- With these new types of `Pollable`s, all pollsets (corresponding to the new per-call completion queue) will initially point to PO_EMPTY global epollset. Then once the channel fd is added to the pollset, the pollset will point to the `Pollable` of type PO_FD containing just that fd (i.e it will reuse the existing `Pollable`). This way, the epoll fd creation/deletion churn is avoided. - With these new types of `Pollable`s, all pollsets (corresponding to the new per-call completion queue) will initially point to PO_EMPTY global epollset. Then once the channel fd is added to the pollset, the pollset will point to the `Pollable` of type PO_FD containing just that fd (i.e it will reuse the existing `Pollable`). This way, the epoll fd creation/deletion churn is avoided.

@ -53,7 +53,7 @@ namespace HelloworldXamarin.iOS
public override void DidEnterBackground(UIApplication application) public override void DidEnterBackground(UIApplication application)
{ {
// Use this method to release shared resources, save user data, invalidate timers and store the application state. // Use this method to release shared resources, save user data, invalidate timers and store the application state.
// If your application supports background exection this method is called instead of WillTerminate when the user quits. // If your application supports background execution this method is called instead of WillTerminate when the user quits.
} }
public override void WillEnterForeground(UIApplication application) public override void WillEnterForeground(UIApplication application)

@ -28,7 +28,7 @@ def main
stub = EchoWithoutProtobuf::Stub.new('localhost:50051', :this_channel_is_insecure) stub = EchoWithoutProtobuf::Stub.new('localhost:50051', :this_channel_is_insecure)
user = ARGV.size > 0 ? ARGV[0] : 'world' user = ARGV.size > 0 ? ARGV[0] : 'world'
message = stub.echo("hello #{user}") message = stub.echo("hello #{user}")
p "Reponse: #{message}" p "Response: #{message}"
end end
main main

Loading…
Cancel
Save