File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -163,6 +163,11 @@ class OutMessage {
163163 */
164164 virtual Status getStatus () const = 0;
165165
166+ /* *
167+ * Return the number of bytes this Message contains.
168+ */
169+ virtual size_t length () const = 0;
170+
166171 /* *
167172 * Copy an array of bytes to the beginning of the Message.
168173 *
Original file line number Diff line number Diff line change @@ -585,6 +585,15 @@ Sender::Message::getStatus() const
585585 return state.load ();
586586}
587587
588+ /* *
589+ * @copydoc Homa::OutMessage::length()
590+ */
591+ size_t
592+ Sender::Message::length () const
593+ {
594+ return Util::downCast<size_t >(messageLength - start);
595+ }
596+
588597/* *
589598 * @copydoc Homa::OutMessage::prepend()
590599 */
Original file line number Diff line number Diff line change @@ -156,6 +156,7 @@ class Sender {
156156 virtual void append (const void * source, size_t count);
157157 virtual void cancel ();
158158 virtual Status getStatus () const ;
159+ virtual size_t length () const ;
159160 virtual void prepend (const void * source, size_t count);
160161 virtual void release ();
161162 virtual void reserve (size_t count);
Original file line number Diff line number Diff line change @@ -1127,6 +1127,15 @@ TEST_F(SenderTest, Message_getStatus)
11271127 // Nothing to test
11281128}
11291129
1130+ TEST_F (SenderTest, Message_length)
1131+ {
1132+ ON_CALL (mockDriver, getMaxPayloadSize).WillByDefault (Return (2048 ));
1133+ Sender::Message msg (sender, &mockDriver);
1134+ msg.messageLength = 200 ;
1135+ msg.start = 20 ;
1136+ EXPECT_EQ (180U , msg.length ());
1137+ }
1138+
11301139TEST_F (SenderTest, Message_prepend)
11311140{
11321141 ON_CALL (mockDriver, getMaxPayloadSize).WillByDefault (Return (2048 ));
You can’t perform that action at this time.
0 commit comments