| // Copyright 2022 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| module network.mojom; |
| |
| // Represents a socket that can be transferred into the network service. Do |
| // not create this directly but use network::TransferableSocket class. |
| [EnableIf=is_win] |
| struct TransferableSocket { |
| // Opaque data of type WSAPROTOCOL_INFOW that contains information required |
| // to re-create the socket on the other end. |
| array<uint8> protocol_info; |
| }; |
| |
| [EnableIfNot=is_win] |
| struct TransferableSocket { |
| // On non-Windows platforms this can be the raw socket. |
| handle<platform>? socket; |
| }; |