Translation components API.

See the Weblate's Web API documentation for detailed description of the API.

GET /api/translations/cnp3-ebook/principlesreliability/en/units/?format=api&page=10
HTTP 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "count": 199,
    "next": null,
    "previous": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesreliability/en/units/?format=api&page=9",
    "results": [
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesreliability/en/?format=api",
            "source": [
                "When running on top of a perfect framing sub-layer, a datalink entity can simply issue a `send(SDU)` upon arrival of a `DATA.req(SDU)` [#fsdu]_. Similarly, the receiver issues a `DATA.ind(SDU)` upon receipt of a `recvd(SDU)`. Such a simple protocol is sufficient when a single SDU is sent. This is illustrated in the figure below."
            ],
            "previous_source": "",
            "target": [
                "When running on top of a perfect framing sub-layer, a datalink entity can simply issue a `send(SDU)` upon arrival of a `DATA.req(SDU)` [#fsdu]_. Similarly, the receiver issues a `DATA.ind(SDU)` upon receipt of a `recvd(SDU)`. Such a simple protocol is sufficient when a single SDU is sent. This is illustrated in the figure below."
            ],
            "id_hash": 3450833186001179215,
            "content_hash": 3450833186001179215,
            "location": "../../principles/reliability.rst:323",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 93,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 53,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/37682/?format=api",
            "priority": 100,
            "id": 37682,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesreliability/en/?checksum=afe3d27fd6bad24f",
            "url": "https://weblate.info.ucl.ac.be/api/units/37682/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-09-17T01:14:35.335552+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesreliability/en/?format=api",
            "source": [
                "Unfortunately, this is not always sufficient to ensure a reliable delivery of the SDUs. Consider the case where a client sends tens of SDUs to a server. If the server is faster than the client, it will be able to receive and process all the frames sent by the client and deliver their content to its user. However, if the server is slower than the client, problems may arise. The datalink entity contains buffers to store SDUs that have been received as a `Data.request` but have not yet been sent. If the application is faster than the physical link, the buffer may become full. At this point, the operating system suspends the application to let the datalink entity empty its transmission queue. The datalink entity also uses a buffer to store the received frames that have not yet been processed by the application. If the application is slow to process the data, this buffer may overflow and the datalink entity will not able to accept any additional frame. The buffers of the datalink entity have a limited size and if they overflow, the arriving frames will be discarded, even if they are correct."
            ],
            "previous_source": "",
            "target": [
                "Unfortunately, this is not always sufficient to ensure a reliable delivery of the SDUs. Consider the case where a client sends tens of SDUs to a server. If the server is faster than the client, it will be able to receive and process all the frames sent by the client and deliver their content to its user. However, if the server is slower than the client, problems may arise. The datalink entity contains buffers to store SDUs that have been received as a `Data.request` but have not yet been sent. If the application is faster than the physical link, the buffer may become full. At this point, the operating system suspends the application to let the datalink entity empty its transmission queue. The datalink entity also uses a buffer to store the received frames that have not yet been processed by the application. If the application is slow to process the data, this buffer may overflow and the datalink entity will not able to accept any additional frame. The buffers of the datalink entity have a limited size and if they overflow, the arriving frames will be discarded, even if they are correct."
            ],
            "id_hash": 2687898012963328942,
            "content_hash": 2687898012963328942,
            "location": "../../principles/reliability.rst:342",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 94,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 193,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/37683/?format=api",
            "priority": 100,
            "id": 37683,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesreliability/en/?checksum=a54d55006f2853ae",
            "url": "https://weblate.info.ucl.ac.be/api/units/37683/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-09-17T01:14:35.352314+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesreliability/en/?format=api",
            "source": [
                "control frames carrying an acknowledgment indicating that the previous frames was correctly processed"
            ],
            "previous_source": "",
            "target": [
                "control frames carrying an acknowledgment indicating that the previous frames was correctly processed"
            ],
            "id_hash": 8484270058295536123,
            "content_hash": 8484270058295536123,
            "location": "../../principles/reliability.rst:347",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 97,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 13,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/37684/?format=api",
            "priority": 100,
            "id": 37684,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesreliability/en/?checksum=f5be2eaa9b3029fb",
            "url": "https://weblate.info.ucl.ac.be/api/units/37684/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-09-17T01:14:35.370037+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesreliability/en/?format=api",
            "source": [
                "An important aspect to understand before studying computer networks is the difference between a *service* and a *protocol*. For this, it is useful to start with real world examples. The traditional Post provides a service where a postman delivers letters to recipients. The Post precisely defines which types of letters (size, weight, etc) can be delivered by using the Standard Mail service. Furthermore, the format of the envelope is specified (position of the sender and recipient addresses, position of the stamp). Someone who wants to send a letter must either place the letter at a Post Office or inside one of the dedicated mailboxes. The letter will then be collected and delivered to its final recipient. Note that for the regular service the Post usually does not guarantee the delivery of each particular letter. Some letters may be lost, and some letters are delivered to the wrong mailbox. If a letter is important, then the sender can use the registered service to ensure that the letter will be delivered to its recipient. Some Post services also provide an acknowledged service or an express mail service that is faster than the regular service."
            ],
            "previous_source": "",
            "target": [
                "An important aspect to understand before studying computer networks is the difference between a *service* and a *protocol*. For this, it is useful to start with real world examples. The traditional Post provides a service where a postman delivers letters to recipients. The Post precisely defines which types of letters (size, weight, etc) can be delivered by using the Standard Mail service. Furthermore, the format of the envelope is specified (position of the sender and recipient addresses, position of the stamp). Someone who wants to send a letter must either place the letter at a Post Office or inside one of the dedicated mailboxes. The letter will then be collected and delivered to its final recipient. Note that for the regular service the Post usually does not guarantee the delivery of each particular letter. Some letters may be lost, and some letters are delivered to the wrong mailbox. If a letter is important, then the sender can use the registered service to ensure that the letter will be delivered to its recipient. Some Post services also provide an acknowledged service or an express mail service that is faster than the regular service."
            ],
            "id_hash": -227052276807764620,
            "content_hash": -227052276807764620,
            "location": "../../principles/reliability.rst:409",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 104,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 192,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/37685/?format=api",
            "priority": 100,
            "id": 37685,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesreliability/en/?checksum=7cd959283f6df574",
            "url": "https://weblate.info.ucl.ac.be/api/units/37685/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-09-17T01:14:35.425351+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesreliability/en/?format=api",
            "source": [
                "A first glance, loosing frames might seem strange on a single link. However, if we take framing into account, transmission errors can affect the frame delineation mechanism and make the frame unreadable. For the same reason, a receiver could receive two (likely invalid) frames after a sender has transmitted a single frame."
            ],
            "previous_source": "",
            "target": [
                "A first glance, loosing frames might seem strange on a single link. However, if we take framing into account, transmission errors can affect the frame delineation mechanism and make the frame unreadable. For the same reason, a receiver could receive two (likely invalid) frames after a sender has transmitted a single frame."
            ],
            "id_hash": -5112001355394211365,
            "content_hash": -5112001355394211365,
            "location": "../../principles/reliability.rst:432",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 109,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 52,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/37686/?format=api",
            "priority": 100,
            "id": 37686,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesreliability/en/?checksum=390e85da1069a1db",
            "url": "https://weblate.info.ucl.ac.be/api/units/37686/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-09-17T01:14:35.472883+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesreliability/en/?format=api",
            "source": [
                "This simple coding scheme forces the sender to transmit three bits for each source bit. However, it allows the receiver to correct single bit errors. More advanced coding systems that allow recovering from errors are used in several types of physical layers."
            ],
            "previous_source": "",
            "target": [
                "This simple coding scheme forces the sender to transmit three bits for each source bit. However, it allows the receiver to correct single bit errors. More advanced coding systems that allow recovering from errors are used in several types of physical layers."
            ],
            "id_hash": 4154452087919243676,
            "content_hash": 4154452087919243676,
            "location": "../../principles/reliability.rst:456",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 123,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 42,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/37687/?format=api",
            "priority": 100,
            "id": 37687,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesreliability/en/?checksum=b9a79429a8ce719c",
            "url": "https://weblate.info.ucl.ac.be/api/units/37687/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-09-17T01:14:35.518125+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesreliability/en/?format=api",
            "source": [
                "Besides framing, datalink layers also include mechanisms to detect and sometimes even recover from transmission errors. To allow a receiver to notice transmission errors, a sender must add some redundant information as an `error detection` code to the frame sent. This `error detection` code is computed by the sender on the frame that it transmits. When the receiver receives a frame with an error detection code, it recomputes it and verifies whether the received `error detection code` matches the computed `error detection code`. If they match, the frame is considered to be valid. Many error detection schemes exist and entire books have been written on the subject. A detailed discussion of these techniques is outside the scope of this book, and we will only discuss some examples to illustrate the key principles."
            ],
            "previous_source": "",
            "target": [
                "Besides framing, datalink layers also include mechanisms to detect and sometimes even recover from transmission errors. To allow a receiver to notice transmission errors, a sender must add some redundant information as an `error detection` code to the frame sent. This `error detection` code is computed by the sender on the frame that it transmits. When the receiver receives a frame with an error detection code, it recomputes it and verifies whether the received `error detection code` matches the computed `error detection code`. If they match, the frame is considered to be valid. Many error detection schemes exist and entire books have been written on the subject. A detailed discussion of these techniques is outside the scope of this book, and we will only discuss some examples to illustrate the key principles."
            ],
            "id_hash": -5747237014550795286,
            "content_hash": -5747237014550795286,
            "location": "../../principles/reliability.rst:458",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 124,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 132,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/37688/?format=api",
            "priority": 100,
            "id": 37688,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesreliability/en/?checksum=303db662abb92bea",
            "url": "https://weblate.info.ucl.ac.be/api/units/37688/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-09-17T01:14:35.546876+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesreliability/en/?format=api",
            "source": [
                "Checksums, CRCs,..."
            ],
            "previous_source": "",
            "target": [
                "Checksums, CRCs,..."
            ],
            "id_hash": 177771398664740610,
            "content_hash": 177771398664740610,
            "location": "../../principles/reliability.rst:508",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 149,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": true,
            "num_words": 2,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/37689/?format=api",
            "priority": 100,
            "id": 37689,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesreliability/en/?checksum=827792252ca2df02",
            "url": "https://weblate.info.ucl.ac.be/api/units/37689/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-09-17T01:14:35.618881+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesreliability/en/?format=api",
            "source": [
                "Most of the protocols in the TCP/IP protocol suite rely on the simple Internet checksum in order to verify that a received packet has not been affected by transmission errors. Despite its popularity and ease of implementation, the Internet checksum is not the only available checksum mechanism. Cyclical Redundancy Checks (CRC_) are very powerful error detection schemes that are used notably on disks, by many datalink layer protocols and file formats such as ``zip`` or ``png``. They can easily be implemented efficiently in hardware and have better error-detection capabilities than the Internet checksum [SGP98]_ . However, CRCs are sometimes considered to be too CPU-intensive for software implementations and other checksum mechanisms are preferred. The TCP/IP community chose the Internet checksum, the OSI community chose the Fletcher checksum [Sklower89]_. Nowadays there are efficient techniques to quickly compute CRCs in software [Feldmeier95]_."
            ],
            "previous_source": "",
            "target": [
                "Most of the protocols in the TCP/IP protocol suite rely on the simple Internet checksum in order to verify that a received packet has not been affected by transmission errors. Despite its popularity and ease of implementation, the Internet checksum is not the only available checksum mechanism. Cyclical Redundancy Checks (CRC_) are very powerful error detection schemes that are used notably on disks, by many datalink layer protocols and file formats such as ``zip`` or ``png``. They can easily be implemented efficiently in hardware and have better error-detection capabilities than the Internet checksum [SGP98]_ . However, CRCs are sometimes considered to be too CPU-intensive for software implementations and other checksum mechanisms are preferred. The TCP/IP community chose the Internet checksum, the OSI community chose the Fletcher checksum [Sklower89]_. Nowadays there are efficient techniques to quickly compute CRCs in software [Feldmeier95]_."
            ],
            "id_hash": 3052506499256328544,
            "content_hash": 3052506499256328544,
            "location": "../../principles/reliability.rst:510",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 150,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 140,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/37690/?format=api",
            "priority": 100,
            "id": 37690,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesreliability/en/?checksum=aa5cae7cfabea160",
            "url": "https://weblate.info.ucl.ac.be/api/units/37690/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-09-17T01:14:35.647926+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesreliability/en/?format=api",
            "source": [
                "Since the receiver sends an acknowledgment after having received each data frame, the simplest solution to deal with losses is to use a retransmission timer. When the sender sends a frame, it starts a retransmission timer. The value of this retransmission timer should be larger than the `round-trip-time`, i.e. the delay between the transmission of a data frame and the reception of the corresponding acknowledgment. When the retransmission timer expires, the sender assumes that the data frame has been lost and retransmits it. This is illustrated in the figure below."
            ],
            "previous_source": "",
            "target": [
                "Since the receiver sends an acknowledgment after having received each data frame, the simplest solution to deal with losses is to use a retransmission timer. When the sender sends a frame, it starts a retransmission timer. The value of this retransmission timer should be larger than the `round-trip-time`, i.e. the delay between the transmission of a data frame and the reception of the corresponding acknowledgment. When the retransmission timer expires, the sender assumes that the data frame has been lost and retransmits it. This is illustrated in the figure below."
            ],
            "id_hash": 3355597774178422339,
            "content_hash": 3355597774178422339,
            "location": "../../principles/reliability.rst:524",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 151,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 90,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/37691/?format=api",
            "priority": 100,
            "id": 37691,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesreliability/en/?checksum=ae917a659aff0e43",
            "url": "https://weblate.info.ucl.ac.be/api/units/37691/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-09-17T01:14:35.663610+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesreliability/en/?format=api",
            "source": [
                "Unfortunately, retransmission timers alone are not sufficient to recover from losses. Let us consider, as an example, the situation depicted below where an acknowledgment is lost. In this case, the sender retransmits the data frame that has not been acknowledged. However, as illustrated in the figure below, the receiver considers the retransmission as a new frame whose payload must be delivered to its user."
            ],
            "previous_source": "",
            "target": [
                "Unfortunately, retransmission timers alone are not sufficient to recover from losses. Let us consider, as an example, the situation depicted below where an acknowledgment is lost. In this case, the sender retransmits the data frame that has not been acknowledged. However, as illustrated in the figure below, the receiver considers the retransmission as a new frame whose payload must be delivered to its user."
            ],
            "id_hash": -269920490805571545,
            "content_hash": -269920490805571545,
            "location": "../../principles/reliability.rst:555",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 152,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 64,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/37692/?format=api",
            "priority": 100,
            "id": 37692,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesreliability/en/?checksum=7c410cbe63ef5027",
            "url": "https://weblate.info.ucl.ac.be/api/units/37692/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-09-17T01:14:35.677803+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesreliability/en/?format=api",
            "source": [
                "The Alternating Bit Protocol uses a single bit to encode the sequence number. It can be implemented easily. The sender (resp. the receiver) only require a four-state (resp. three-state) Finite State Machine."
            ],
            "previous_source": "",
            "target": [
                "The Alternating Bit Protocol uses a single bit to encode the sequence number. It can be implemented easily. The sender (resp. the receiver) only require a four-state (resp. three-state) Finite State Machine."
            ],
            "id_hash": -2550053749230472745,
            "content_hash": -2550053749230472745,
            "location": "../../principles/reliability.rst:590",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 154,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 32,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/37693/?format=api",
            "priority": 100,
            "id": 37693,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesreliability/en/?checksum=5c9c63a036f6f1d7",
            "url": "https://weblate.info.ucl.ac.be/api/units/37693/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-09-17T01:14:35.692696+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesreliability/en/?format=api",
            "source": [
                "The Alternating Bit Protocol can recover from the losses of data or control frames. This is illustrated in the two figures below. The first figure shows the loss of one data frame."
            ],
            "previous_source": "",
            "target": [
                "The Alternating Bit Protocol can recover from the losses of data or control frames. This is illustrated in the two figures below. The first figure shows the loss of one data frame."
            ],
            "id_hash": -6111301575050898245,
            "content_hash": -6111301575050898245,
            "location": "../../principles/reliability.rst:731",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 160,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 32,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/37694/?format=api",
            "priority": 100,
            "id": 37694,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesreliability/en/?checksum=2b304b98b7ce54bb",
            "url": "https://weblate.info.ucl.ac.be/api/units/37694/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-09-17T01:14:35.711124+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesreliability/en/?format=api",
            "source": [
                "The second figure illustrates how the hosts handle the loss of one control frame."
            ],
            "previous_source": "",
            "target": [
                "The second figure illustrates how the hosts handle the loss of one control frame."
            ],
            "id_hash": 4740766236030343033,
            "content_hash": 4740766236030343033,
            "location": "../../principles/reliability.rst:758",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 161,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 14,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/37695/?format=api",
            "priority": 100,
            "id": 37695,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesreliability/en/?checksum=c1ca95c625c11779",
            "url": "https://weblate.info.ucl.ac.be/api/units/37695/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-09-17T01:14:35.725444+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesreliability/en/?format=api",
            "source": [
                "To overcome the performance limitations of the alternating bit protocol, reliable protocols rely on `pipelining`. This technique allows a sender to transmit several consecutive frames without being forced to wait for an acknowledgment after each frame. Each data frame contains a sequence number encoded as an `n` bits field."
            ],
            "previous_source": "",
            "target": [
                "To overcome the performance limitations of the alternating bit protocol, reliable protocols rely on `pipelining`. This technique allows a sender to transmit several consecutive frames without being forced to wait for an acknowledgment after each frame. Each data frame contains a sequence number encoded as an `n` bits field."
            ],
            "id_hash": -3666345718442558327,
            "content_hash": -3666345718442558327,
            "location": "../../principles/reliability.rst:806",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 164,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 49,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/37696/?format=api",
            "priority": 100,
            "id": 37696,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesreliability/en/?checksum=4d1e85fe8474fc89",
            "url": "https://weblate.info.ucl.ac.be/api/units/37696/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-09-17T01:14:35.740891+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesreliability/en/?format=api",
            "source": [
                "This is implemented by using a `sliding window`. The sliding window is the set of consecutive sequence numbers that the sender can use when transmitting frames without being forced to wait for an acknowledgment. The figure below shows a sliding window containing five frames (`6,7,8,9` and `10`). Two of these sequence numbers (`6` and `7`) have been used to send frames and only three sequence numbers (`8`, `9` and `10`) remain in the sliding window. The sliding window is said to be closed once all sequence numbers contained in the sliding window have been used."
            ],
            "previous_source": "",
            "target": [
                "This is implemented by using a `sliding window`. The sliding window is the set of consecutive sequence numbers that the sender can use when transmitting frames without being forced to wait for an acknowledgment. The figure below shows a sliding window containing five frames (`6,7,8,9` and `10`). Two of these sequence numbers (`6` and `7`) have been used to send frames and only three sequence numbers (`8`, `9` and `10`) remain in the sliding window. The sliding window is said to be closed once all sequence numbers contained in the sliding window have been used."
            ],
            "id_hash": 7880187773644251173,
            "content_hash": 7880187773644251173,
            "location": "../../principles/reliability.rst:816",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 167,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 95,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/37697/?format=api",
            "priority": 100,
            "id": 37697,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesreliability/en/?checksum=ed5c0d0773712025",
            "url": "https://weblate.info.ucl.ac.be/api/units/37697/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-09-17T01:14:35.756894+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesreliability/en/?format=api",
            "source": [
                "The figure below illustrates the operation of the sliding window. It uses a sliding window of three frames. The sender can thus transmit three frames before being forced to wait for an acknowledgment. The sliding window moves to the higher sequence numbers upon the reception of each acknowledgment. When the first acknowledgment (`OK0`) is received, it enables the sender to move its sliding window to the right and sequence number `3` becomes available. This sequence number is used later to transmit the frame containing `d`."
            ],
            "previous_source": "",
            "target": [
                "The figure below illustrates the operation of the sliding window. It uses a sliding window of three frames. The sender can thus transmit three frames before being forced to wait for an acknowledgment. The sliding window moves to the higher sequence numbers upon the reception of each acknowledgment. When the first acknowledgment (`OK0`) is received, it enables the sender to move its sliding window to the right and sequence number `3` becomes available. This sequence number is used later to transmit the frame containing `d`."
            ],
            "id_hash": -2440170980561919046,
            "content_hash": -2440170980561919046,
            "location": "../../principles/reliability.rst:824",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 169,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 85,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/37698/?format=api",
            "priority": 100,
            "id": 37698,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesreliability/en/?checksum=5e22c56bf863e3ba",
            "url": "https://weblate.info.ucl.ac.be/api/units/37698/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-09-17T01:14:35.771438+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesreliability/en/?format=api",
            "source": [
                "The simplest sliding window protocol uses the `go-back-n` recovery. Intuitively, `go-back-n` operates as follows. A `go-back-n` receiver is as simple as possible. It only accepts the frames that arrive in-sequence. A `go-back-n` receiver discards any out-of-sequence frame that it receives. When `go-back-n` receives a data frame, it always returns an acknowledgment containing the sequence number of the last in-sequence frame that it has received. This acknowledgment is said to be `cumulative`. When a `go-back-n` receiver sends an acknowledgment for sequence number `x`, it implicitly acknowledges the reception of all frames whose sequence number is earlier than `x`. A key advantage of these cumulative acknowledgments is that it is easy to recover from the loss of an acknowledgment. Consider for example a `go-back-n` receiver that received frames `1`, `2` and `3`. It sent `OK1`, `OK2` and `OK3`. Unfortunately, `OK1` and `OK2` were lost. Thanks to the cumulative acknowledgments, when the sender receives `OK3`, it knows that all three frames have been correctly received."
            ],
            "previous_source": "",
            "target": [
                "The simplest sliding window protocol uses the `go-back-n` recovery. Intuitively, `go-back-n` operates as follows. A `go-back-n` receiver is as simple as possible. It only accepts the frames that arrive in-sequence. A `go-back-n` receiver discards any out-of-sequence frame that it receives. When `go-back-n` receives a data frame, it always returns an acknowledgment containing the sequence number of the last in-sequence frame that it has received. This acknowledgment is said to be `cumulative`. When a `go-back-n` receiver sends an acknowledgment for sequence number `x`, it implicitly acknowledges the reception of all frames whose sequence number is earlier than `x`. A key advantage of these cumulative acknowledgments is that it is easy to recover from the loss of an acknowledgment. Consider for example a `go-back-n` receiver that received frames `1`, `2` and `3`. It sent `OK1`, `OK2` and `OK3`. Unfortunately, `OK1` and `OK2` were lost. Thanks to the cumulative acknowledgments, when the sender receives `OK3`, it knows that all three frames have been correctly received."
            ],
            "id_hash": 6164532130596396313,
            "content_hash": 6164532130596396313,
            "location": "../../principles/reliability.rst:854",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 176,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 162,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/37699/?format=api",
            "priority": 100,
            "id": 37699,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesreliability/en/?checksum=d58cd14fcaae1d19",
            "url": "https://weblate.info.ucl.ac.be/api/units/37699/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-09-17T01:14:35.789720+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesreliability/en/?format=api",
            "source": [
                "A `go-back-n` sender is also very simple. It uses a sending buffer that can store an entire sliding window of frames [#fsizesliding]_. The frames are sent with increasing sequence numbers (modulo `maxseq`). The sender must wait for an acknowledgment once its sending buffer is full. When a `go-back-n` sender receives an acknowledgment, it removes from the sending buffer all the acknowledged frames and uses a retransmission timer to detect frame losses. A simple `go-back-n` sender maintains one retransmission timer per connection. This timer is started when the first frame is sent. When the `go-back-n sender` receives an acknowledgment, it restarts the retransmission timer only if there are still unacknowledged frames in its sending buffer. When the retransmission timer expires, the `go-back-n` sender assumes that all the unacknowledged frames currently stored in its sending buffer have been lost. It thus retransmits all the unacknowledged frames in the buffer and restarts its retransmission timer."
            ],
            "previous_source": "",
            "target": [
                "A `go-back-n` sender is also very simple. It uses a sending buffer that can store an entire sliding window of frames [#fsizesliding]_. The frames are sent with increasing sequence numbers (modulo `maxseq`). The sender must wait for an acknowledgment once its sending buffer is full. When a `go-back-n` sender receives an acknowledgment, it removes from the sending buffer all the acknowledged frames and uses a retransmission timer to detect frame losses. A simple `go-back-n` sender maintains one retransmission timer per connection. This timer is started when the first frame is sent. When the `go-back-n sender` receives an acknowledgment, it restarts the retransmission timer only if there are still unacknowledged frames in its sending buffer. When the retransmission timer expires, the `go-back-n` sender assumes that all the unacknowledged frames currently stored in its sending buffer have been lost. It thus retransmits all the unacknowledged frames in the buffer and restarts its retransmission timer."
            ],
            "id_hash": -8874466413595796197,
            "content_hash": -8874466413595796197,
            "location": "../../principles/reliability.rst:890",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 178,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 152,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/37700/?format=api",
            "priority": 100,
            "id": 37700,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesreliability/en/?checksum=4d78fd0d67cdd1b",
            "url": "https://weblate.info.ucl.ac.be/api/units/37700/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-09-17T01:14:35.805236+02:00"
        }
    ]
}