Uma coleção de diferentes implementações de transporte e ferramentas relacionadas focadas principalmente em tecnologias da Web. Apresenta o desenvolvimento interno de 6 IETF RFCs (6265, 6455, 7541, 7692, 8441, 9113), 2 especificações formais (GRPC, PostgreSQL) e várias outras idéias inventadas.
Cada recurso é opcional e deve ser definido no momento da compilação. Consulte a documentação pretendida para obter mais informações.
Dispositivos incorporados com um alocador de heap em funcionamento podem usar esta caixa no_std .
Muitas coisas que geralmente melhoram o desempenho são usadas no projeto, para citar alguns:
cargo tree -e normal --features postgres .Como a memória geralmente é mantida no nível da instância, em vez de ser criada e descartada em tempo real, vale a pena notar que seu uso pode crescer significativamente, dependendo da caixa de uso. Se apropriado, tente usar um pool de recursos compartilhados ou tente limitar a quantidade de dados que podem ser trocados entre as partes.
Feche o banco WTX para ver uma variedade de benchmarks ou sinta-se à vontade para apontar quaisquer mal-entendidos ou incorporativos.
Existem principalmente duas coisas que afetam o desempenho, o tempo de execução escolhido e o número de bytes pré-alocados. Especialmente para servidores que precisam criar uma nova instância para cada aperto de mão, a pré-alocação de um grande número de bytes para conexões de curta duração ou baixa transferência pode ter um impacto negativo.
Qualquer coisa marcada com #[bench] no repositório é considerada uma referência de baixo nível, no sentido de que eles medem operações muito específicas que geralmente servem de base para outras partes.
Dê uma olhada em https://bencher.dev/perf/wtx para ver todos os benchmarks de baixo nível em diferentes períodos de tempo.
Ao usar um recurso que requer conexão de rede, geralmente é necessário executar a comunicação criptografada e, como wtx não é codificado com uma implementação específica de fluxo, cabe a você escolher o melhor provedor de TLS.
Algumas empresas de serviços públicos, como TokioRustlsConnector ou TokioRustlsAcceptor , estão disponíveis para tornar as coisas mais convenientes, mas lembre -se de que ainda é necessário ativar uma caixa que fornece certificados para uso do cliente.
Demonstrações de diferentes casos de uso podem ser encontradas no diretório wtx-instances , bem como na documentação.
Não suporta sistemas com um comprimento de ponteiro de 16 bits.
Espera a soma infalível dos comprimentos de um número arbitrário de fatias, caso contrário, o programa provavelmente desencadeará um estouro que possa resultar em operações inesperadas. Por exemplo, em um sistema de 32 bits, esse cenário deve ser viável sem a memória de troca ou através de limitadores específicos como ulimit .