blob: 4b53d464e25a36dd3b2c25e2c570912f5093f868 [file] [log] [blame]
{{/*
// Copyright 2022 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
*/}}
{{- define "Method:ClientImplOnewayBuffer:driver/MessagingHeader" }}
{{ .Docs }}
{{- if .DocComments }}
//
{{- end }}
// Caller provides the backing storage for FIDL message.
::fidl::Status {{ .Name }}({{ RenderParams .RequestArgs }});
{{ end }}
{{- define "Method:ClientImplOnewayBuffer:driver/MessagingSource" }}
::fidl::Status {{ .Protocol.WireWeakOnewayBufferClientImpl.NoLeading }}::{{ .Name }}(
{{- RenderParams .RequestArgs }}) {
constexpr uint32_t _buffer_size = ::fidl::AsyncClientMethodBufferSizeInChannel<{{ .Marker }}>();
uint8_t* _buffer = static_cast<uint8_t*>(_arena().Allocate(_buffer_size));
{{ .WireTransactionalRequest }} _request{ {{ RenderForwardParams .RequestArgs }} };
::fidl::unstable::UnownedEncodedMessage<{{ .WireTransactionalRequest }}, {{ .Transport.Type }}> _request_message(
_buffer, _buffer_size, &_request);
fidl::WriteOptions _options = {};
_options.outgoing_transport_context =
::fidl::internal::OutgoingTransportContext::Create<::fidl::internal::DriverTransport>(
_arena().get());
return _client_base()->SendOneWay(_request_message.GetOutgoingMessage(), std::move(_options));
}
{{- end }}