title: Can Protobuf Field Mask be applied to grpc only case?
body: <p>Let's take this example from the official <a href="https://cloud.google.com/apis/design/standard_methods#update" rel="noreferrer">doc</a>:</p>
  
  <pre><code>// Updates a book.
  rpc UpdateBook(UpdateBookRequest) returns (Book) {
    // Update maps to HTTP PATCH. Resource name is mapped to a URL path.
    // Resource is contained in the HTTP request body.
    option (google.api.http) = {
      // Note the URL template variable which captures the resource name of the
      // book to update.
      patch: "/v1/{book.name=shelves/*/books/*}"
      body: "book"
    };
  }
  
  message UpdateBookRequest {
    // The book resource which replaces the resource on the server.
    Book book = 1;
  
    // The update mask applies to the resource. For the `FieldMask` definition,
    // see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
    FieldMask update_mask = 2;
  }
  </code></pre>
  
  <p>If I don't have a grpc gateway and use grpc only, can I use mask in that way:</p>
  
  <pre><code>// Updates a book.
  rpc UpdateBook(UpdateBookRequest) returns (Book);
  
  message UpdateBookRequest {
    // The book resource which replaces the resource on the server.
    Book book = 1;
  
    // The update mask applies to the resource. For the `FieldMask` definition,
    // see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
    FieldMask update_mask = 2;
  }
  </code></pre>
  
  <p>If so, how should that mask works - filters request? or be applied during db saving and how does it know about db ...
  So I am a bit confused about using it. In my own grpc sample I see that mask doesn't filter the request.</p>