Lines Matching refs:Writer

75   struct Writer;
78 Writer* leader = nullptr;
79 Writer* last_writer = nullptr;
87 Writer* writer;
88 Writer* last_writer;
90 explicit Iterator(Writer* w, Writer* last) in Iterator()
93 Writer* operator*() const { return writer; }
115 struct Writer { struct
135 Writer* link_older; // read/write only before linking, or as leader argument
136 Writer* link_newer; // lazy, read/write only before linking, or as leader argument
138 Writer() in Writer() argument
156 Writer(const WriteOptions& write_options, WriteBatch* _batch,
177 ~Writer() { in ~Writer() argument
277 void JoinBatchGroup(Writer* w);
285 size_t EnterAsBatchGroupLeader(Writer* leader, WriteGroup* write_group);
295 void ExitAsBatchGroupFollower(Writer* w);
301 void EnterAsMemTableWriter(Writer* leader, WriteGroup* write_grup);
306 void ExitAsMemTableWriter(Writer* self, WriteGroup& write_group);
320 bool CompleteParallelMemTableWriter(Writer* w);
328 void EnterUnbatched(Writer* w, InstrumentedMutex* mu);
332 void ExitUnbatched(Writer* w);
370 std::atomic<Writer*> newest_writer_;
374 std::atomic<Writer*> newest_memtable_writer_;
383 Writer write_stall_dummy_;
393 uint8_t BlockingAwaitState(Writer* w, uint8_t goal_mask);
399 uint8_t AwaitState(Writer* w, uint8_t goal_mask, AdaptationContext* ctx);
402 void SetState(Writer* w, uint8_t new_state);
407 bool LinkOne(Writer* w, std::atomic<Writer*>* newest_writer);
412 bool LinkGroup(WriteGroup& write_group, std::atomic<Writer*>* newest_writer);
416 void CreateMissingNewerLinks(Writer* head);
420 Writer* FindNextLeader(Writer* pending_writer, Writer* boundary);
428 void CompleteFollower(Writer* w, WriteGroup& write_group);