title: Message extensions cannot have required fields
body: <p>My task is  to frame a Google Protocol Buffer based object that could pass a single message to the RabbitMQ with all the message/command details. I used the concept "extensions" for wrapping all the fields under a single message. But I could not declare the required data fields under extension section. My message format looks like.</p>
  
  <pre><code>message A 
  {
      message B
      {
       extension 100 to max;
  
       required int32 a = 1;
       required int32 b = 2;
      }
      message C
      {
          extend B
          {
              required string name = 100;
          }
      }
      repeated A messageA = 1;
  };
  </code></pre>
  
  <p>I am getting error like Message extensions cannot have required fields.</p>
  
  <pre><code>Commands.proto:36:34: Message extensions cannot have required fields.
  </code></pre>
  
  <p>If I have chaged the extended section as </p>
  
  <pre><code>message C
  {
      extend B
      {
          optional string name = 100;
      }
  }
  </code></pre>
  
  <p>Then it is working fine. I have also referred some links for solution <a href="http://forum.choosemuse.com/forum/developer-forum/1251-protobuf-2-6-0-required" rel="nofollow">http://forum.choosemuse.com/forum/developer-forum/1251-protobuf-2-6-0-required</a> 
  which showed me that have to use upgrade protoc version. Currently I am using protobuf 2.6.1. I also tried this case with protobuf 3.0.0 alpha version. But I cannot find any improvements :(. Please help me to solve this error and please correct me if I have got anything in wrong manner.</p>