タグ

2022年12月21日のブックマーク (2件)

  • Rustのto_string実装パターン

    Rustで値の文字列表現を返すにあたって、 String を直接返すのではなく Display を実装するのが一般的です。この派生パターンとして以下の4つのパターンを紹介します。 基: 文字列化を実装したいとき 文字列化をインターフェースに含めたいとき カスタム文字列化 カスタム文字列化をインターフェースに含めたいとき 基: 文字列化を実装したいとき Displayを実装すると、文字列化できるようになります。 println!, format! などのフォーマット処理から呼べるようになるほか、 .to_string() というヘルパ関数が使えるようになります。 以下はプログラミング言語処理系において、「変数」をあらわす構造体に文字列化を実装する例です。 Playground pub struct Var(String); impl std::fmt::Display for Var {

    Rustのto_string実装パターン
  • rust で udp パケット処理 - Qiita

    この記事は MIXI DEVELOPERS Advent Calendar 2022 20 日目の記事です。 前書き GoogleCloud上で、rustでQUICのリレーサーバを作成するために、UDP Packetをたくさん受けとるために、コードを書いて試してみたので、その作業ログです。 コードはここに置いておきます 環境 環境は以下。 Google Cloud Compute Engine VM インスタンス 受信サーバ c2 インスタンス 16 vCPU (not Tier_1 network) 送信サーバ 受信サーバと同一VPCの複数のインスタンスからudpを投げまくる 計測はpacket per second(pps)を基準に検討しています。実際の数値自体はcoreの世代などの要因があり、あまり意味はありません。 ログ recvfrom(revmsg) / recvmmsg まず

    rust で udp パケット処理 - Qiita