OLD | NEW |
1 // Copyright (c) 2015, the Fletch project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dartino project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE.md file. | 3 // BSD-style license that can be found in the LICENSE.md file. |
4 | 4 |
5 #include "platforms/stm/disco_fletch/src/circular_buffer.h" | 5 #include "platforms/stm/disco_fletch/src/circular_buffer.h" |
6 | 6 |
7 #include <stdlib.h> | 7 #include <stdlib.h> |
8 #include <string.h> | 8 #include <string.h> |
9 | 9 |
10 CircularBuffer::CircularBuffer(size_t capacity) { | 10 CircularBuffer::CircularBuffer(size_t capacity) { |
11 monitor_ = fletch::Platform::CreateMonitor(); | 11 monitor_ = fletch::Platform::CreateMonitor(); |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 bytes = MIN(tail_ - head_ - 1, count - written); | 87 bytes = MIN(tail_ - head_ - 1, count - written); |
88 memcpy(buffer_ + head_, data + written, bytes); | 88 memcpy(buffer_ + head_, data + written, bytes); |
89 written += bytes; | 89 written += bytes; |
90 head_ = (head_ + bytes) % capacity_; | 90 head_ = (head_ + bytes) % capacity_; |
91 } | 91 } |
92 | 92 |
93 monitor_->Notify(); | 93 monitor_->Notify(); |
94 | 94 |
95 return written; | 95 return written; |
96 } | 96 } |
OLD | NEW |