<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.1" version="1.1">
  <file original="NoName" source-language="en" datatype="plaintext" target-language="en">
    <body>
      <trans-unit xml:space="preserve" approved="no" id="567552c2b2f655b7" weblate-flags="read-only">
        <source>Design Choices</source>
        <target state="translated">Design Choices</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">10</context>
        </context-group>
        <note from="developer">type: section title</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="af3cd49e7f302cac" weblate-flags="read-only">
        <source>The implementations were originally driven by business needs of cryptocurrency server applications (e.g.  [@https://github.com/ripple/rippled rippled]), written in C++. These needs were not met by existing solutions so Beast was written from scratch as a solution. Beast's design philosophy avoids flaws exhibited by other libraries:</source>
        <target state="translated">The implementations were originally driven by business needs of cryptocurrency server applications (e.g.  [@https://github.com/ripple/rippled rippled]), written in C++. These needs were not met by existing solutions so Beast was written from scratch as a solution. Beast's design philosophy avoids flaws exhibited by other libraries:</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">12</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="b27a03b47542f6a3" weblate-flags="read-only">
        <source>* Don't try to do too much.</source>
        <target state="translated">* Don't try to do too much.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">18</context>
        </context-group>
        <note from="developer">type: list</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="e1e4ff63ca977551" weblate-flags="read-only">
        <source>* Don't sacrifice performance.</source>
        <target state="translated">* Don't sacrifice performance.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">20</context>
        </context-group>
        <note from="developer">type: list</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="837aed0f6df51c69" weblate-flags="read-only">
        <source>* Mimic __Asio__; familiarity breeds confidence.</source>
        <target state="translated">* Mimic __Asio__; familiarity breeds confidence.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">22</context>
        </context-group>
        <note from="developer">type: list</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="04b757b3eee58373" weblate-flags="read-only">
        <source>* Role-symmetric interfaces; client and server the same (or close to it).</source>
        <target state="translated">* Role-symmetric interfaces; client and server the same (or close to it).</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">24</context>
        </context-group>
        <note from="developer">type: list</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="ea86428f4ec53713" weblate-flags="read-only">
        <source>* Leave important decisions, such as allocating memory or</source>
        <target state="translated">* Leave important decisions, such as allocating memory or</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">26</context>
        </context-group>
        <note from="developer">type: list</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="0bbf6f4c6fdd54e5" weblate-flags="read-only">
        <source>Beast uses the __DynamicBuffer__ concept presented in the __NetTS__, and relies heavily on the __ConstBufferSequence__ and __MutableBufferSequence__ concepts for passing buffers to functions. The authors have found the dynamic buffer and buffer sequence interfaces to be optimal for interacting with Asio, and for other tasks such as incremental parsing of data in buffers (for example, parsing websocket frames stored in a [link beast.ref.boost__beast__static_buffer `static_buffer`]).</source>
        <target state="translated">Beast uses the __DynamicBuffer__ concept presented in the __NetTS__, and relies heavily on the __ConstBufferSequence__ and __MutableBufferSequence__ concepts for passing buffers to functions. The authors have found the dynamic buffer and buffer sequence interfaces to be optimal for interacting with Asio, and for other tasks such as incremental parsing of data in buffers (for example, parsing websocket frames stored in a [link beast.ref.boost__beast__static_buffer `static_buffer`]).</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">29</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="1938bcce611f52a7" weblate-flags="read-only">
        <source>During the development of Beast the authors have studied other software packages and in particular the comments left during the Boost Review process of other packages offering similar functionality. In this section and the FAQs that follow we attempt to answer those questions that are also applicable to Beast.</source>
        <target state="translated">During the development of Beast the authors have studied other software packages and in particular the comments left during the Boost Review process of other packages offering similar functionality. In this section and the FAQs that follow we attempt to answer those questions that are also applicable to Beast.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">37</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="67e178094d9dcdf7" weblate-flags="read-only">
        <source>For HTTP we model the message to maximize flexibility of implementation strategies while allowing familiar verbs such as [*`read`] and [*`write`]. The HTTP interface is further driven by the needs of the WebSocket module, as a WebSocket session requires a HTTP Upgrade handshake exchange at the start. Other design goals:</source>
        <target state="translated">For HTTP we model the message to maximize flexibility of implementation strategies while allowing familiar verbs such as [*`read`] and [*`write`]. The HTTP interface is further driven by the needs of the WebSocket module, as a WebSocket session requires a HTTP Upgrade handshake exchange at the start. Other design goals:</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">43</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="5daeee397ea4712e" weblate-flags="read-only">
        <source>* Keep it simple.</source>
        <target state="translated">* Keep it simple.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">49</context>
        </context-group>
        <note from="developer">type: list</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="64ba7ce63edd028e" weblate-flags="read-only">
        <source>* Stay low level; don't invent a whole web server or client.</source>
        <target state="translated">* Stay low level; don't invent a whole web server or client.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">51</context>
        </context-group>
        <note from="developer">type: list</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="0cef9ca64e2bd150" weblate-flags="read-only">
        <source>* Allow for customizations, if the user needs it.</source>
        <target state="translated">* Allow for customizations, if the user needs it.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">53</context>
        </context-group>
        <note from="developer">type: list</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="1b97a9a58839917b" weblate-flags="read-only">
        <source>The following video presentation was delivered at [@https://cppcon.org/ CppCon] in 2016. It provides a light introduction to some of the earliest interfaces of Beast (which have since changed).</source>
        <target state="translated">The following video presentation was delivered at [@https://cppcon.org/ CppCon] in 2016. It provides a light introduction to some of the earliest interfaces of Beast (which have since changed).</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">55</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
    </body>
  </file>
</xliff>
