| An alternative, more portable solution, is to convert asynchronous events to file-based events using the self-pipe trick, where "a signal handler writes a byte to a pipe whose other end is monitored by select() in the main program". |
Альтернативное и более переносимое решение заключается в преобразовании асинхронных событий в события на основе файлов, используя пайп-себе трюк, в котором «обработчик сигнала пишет байт в пайп, другой конец которого наблюдается вызовом pselect() в основной программе». |
| PUP packets are up to 554 bytes long (including the 20 byte PUP header), and the checksum. |
Пакеты PUP могут быть длиной до 554 байт (включая 20 байт PUP заголовок) плюс контрольная сумма. |
| Before transmitting its first byte, it needs to know the position of the first zero byte (if any) in the following 254 bytes. |
Перед тем, как передать первый байт, он должен знать позицию первого нулевого байта (если таковые имеются) в следующих 254 байтах. |
| To convert data to PEM printable encoding, the first byte is placed in the most significant eight bits of a 24-bit buffer, the next in the middle eight, and the third in the least significant eight bits. |
Для того, чтобы преобразовать данные в base64, первый байт помещается в самые старшие восемь бит 24-битного буфера, следующий - в средние восемь и третий - в младшие значащие восемь бит. |
| This means in practice that the first byte is a mandatory byte valued '80' (Hexadecimal) followed, if needed, by 0 to N-1 bytes set to '00', until the end of the block is reached. |
На практике это значит, что первый дополнительный байт обязательно имеет значение '80', а за ним следует, если это необходимо, от 0 до N-1 байтов '00' до тех пор, пока не будет достигнута граница блока. |