Put channel name in allocation error
The prior error didn't tell us which channel tried to build a message
which was too big. This fixes that to make it easier to debug.
Change-Id: I56aa891d79be679db5f9932d5bb23d2f3db359c3
diff --git a/aos/events/event_loop.h b/aos/events/event_loop.h
index d0ca196..4ea6724 100644
--- a/aos/events/event_loop.h
+++ b/aos/events/event_loop.h
@@ -1,5 +1,4 @@
#ifndef AOS_EVENTS_EVENT_LOOP_H_
-
#define AOS_EVENTS_EVENT_LOOP_H_
#include <atomic>
@@ -8,6 +7,7 @@
#include "aos/configuration.h"
#include "aos/configuration_generated.h"
+#include "aos/events/channel_preallocated_allocator.h"
#include "aos/events/event_loop_event.h"
#include "aos/events/event_loop_generated.h"
#include "aos/events/timing_statistics.h"
@@ -145,8 +145,9 @@
// Returns the associated flatbuffers-style allocator. This must be
// deallocated before the message is sent.
- PreallocatedAllocator *fbb_allocator() {
- fbb_allocator_ = PreallocatedAllocator(data(), size());
+ ChannelPreallocatedAllocator *fbb_allocator() {
+ fbb_allocator_ = ChannelPreallocatedAllocator(
+ reinterpret_cast<uint8_t *>(data()), size(), channel());
return &fbb_allocator_;
}
@@ -176,7 +177,7 @@
internal::RawSenderTiming timing_;
- PreallocatedAllocator fbb_allocator_{nullptr, 0};
+ ChannelPreallocatedAllocator fbb_allocator_{nullptr, 0, nullptr};
};
// Fetches the newest message from a channel.
@@ -247,7 +248,7 @@
// builder.Send(t_builder.Finish());
class Builder {
public:
- Builder(RawSender *sender, PreallocatedAllocator *allocator)
+ Builder(RawSender *sender, ChannelPreallocatedAllocator *allocator)
: fbb_(allocator->size(), allocator),
allocator_(allocator),
sender_(sender) {
@@ -283,7 +284,7 @@
private:
flatbuffers::FlatBufferBuilder fbb_;
- PreallocatedAllocator *allocator_;
+ ChannelPreallocatedAllocator *allocator_;
RawSender *sender_;
};