5#ifndef RUNTIME_VM_FINALIZABLE_DATA_H_
6#define RUNTIME_VM_FINALIZABLE_DATA_H_
24 : records_(0), get_position_(0), take_position_(0), external_size_(0) {}
27 for (intptr_t
i = take_position_;
i < records_.length();
i++) {
28 records_[
i].callback(
nullptr, records_[
i].peer);
42 finalizable_data.
peer = peer;
45 records_.Add(finalizable_data);
52 ASSERT(get_position_ < records_.length());
53 return records_[get_position_++];
59 ASSERT(take_position_ < records_.length());
60 return records_[take_position_++];
64 for (intptr_t
i = 0;
i < records_.length();
i++) {
65 if (records_[
i].successful_write_callback !=
nullptr) {
66 records_[
i].successful_write_callback(
nullptr, records_[
i].peer);
82 intptr_t get_position_;
83 intptr_t take_position_;
84 intptr_t external_size_;
intptr_t external_size() const
~MessageFinalizableData()
void Put(intptr_t external_size, void *data, void *peer, Dart_HandleFinalizer callback, Dart_HandleFinalizer successful_write_callback=nullptr)
void SerializationSucceeded()
void(* Dart_HandleFinalizer)(void *isolate_callback_data, void *peer)
FlKeyEvent uint64_t FlKeyResponderAsyncCallback callback
static int8_t data[kExtLength]
Dart_HandleFinalizer callback
Dart_HandleFinalizer successful_write_callback