Browse Source

putil: Accept bytes in DatagramOutputFile::write_header()

rdb 2 years ago
parent
commit
eb82dbc765
2 changed files with 17 additions and 0 deletions
  1. 16 0
      panda/src/putil/datagramOutputFile.cxx
  2. 1 0
      panda/src/putil/datagramOutputFile.h

+ 16 - 0
panda/src/putil/datagramOutputFile.cxx

@@ -86,6 +86,22 @@ close() {
   _error = false;
 }
 
+/**
+ * Writes a sequence of bytes to the beginning of the datagram file.  This may
+ * be called any number of times after the file has been opened and before the
+ * first datagram is written.  It may not be called once the first datagram is
+ * written.
+ */
+bool DatagramOutputFile::
+write_header(const vector_uchar &header) {
+  nassertr(_out != nullptr, false);
+  nassertr(!_wrote_first_datagram, false);
+
+  _out->write((const char *)&header[0], header.size());
+  thread_consider_yield();
+  return !_out->fail();
+}
+
 /**
  * Writes a sequence of bytes to the beginning of the datagram file.  This may
  * be called any number of times after the file has been opened and before the

+ 1 - 0
panda/src/putil/datagramOutputFile.h

@@ -38,6 +38,7 @@ PUBLISHED:
 
   void close();
 
+  bool write_header(const vector_uchar &header);
   bool write_header(const std::string &header);
   virtual bool put_datagram(const Datagram &data);
   virtual bool copy_datagram(SubfileInfo &result, const Filename &filename);