Panda3D
|
This class defines the abstract interface to sending datagrams to any target, whether it be into a file or across the net. More...
#include "datagramSink.h"
Public Member Functions | |
DatagramSink () | |
Does nothing since this is class is just the definition of an interface. | |
virtual | ~DatagramSink () |
Does nothing since this is class is just the definition of an interface. | |
virtual bool | copy_datagram (SubfileInfo &result, const Filename &filename) |
Copies the file data from the entire indicated file (via the vfs) as the next datagram. | |
virtual bool | copy_datagram (SubfileInfo &result, const SubfileInfo &source) |
Copies the file data from the range of the indicated file (outside of the vfs) as the next datagram. | |
virtual void | flush ()=0 |
virtual const FileReference * | get_file () |
Returns the FileReference that provides the target for these datagrams, if any, or NULL if the datagrams do not written to a file on disk. | |
virtual streampos | get_file_pos () |
Returns the current file position within the data stream, if any, or 0 if the file position is not meaningful or cannot be determined. | |
virtual const Filename & | get_filename () |
Returns the filename that provides the target for these datagrams, if any, or empty string if the datagrams do not get written to a file on disk. | |
virtual bool | is_error ()=0 |
virtual bool | put_datagram (const Datagram &data)=0 |
This class defines the abstract interface to sending datagrams to any target, whether it be into a file or across the net.
Definition at line 32 of file datagramSink.h.
DatagramSink::DatagramSink | ( | ) | [inline] |
Does nothing since this is class is just the definition of an interface.
Definition at line 23 of file datagramSink.I.
DatagramSink::~DatagramSink | ( | ) | [virtual] |
Does nothing since this is class is just the definition of an interface.
Definition at line 25 of file datagramSink.cxx.
bool DatagramSink::copy_datagram | ( | SubfileInfo & | result, |
const Filename & | filename | ||
) | [virtual] |
Copies the file data from the entire indicated file (via the vfs) as the next datagram.
This is intended to support potentially very large datagrams.
Returns true on success, false on failure or if this method is unimplemented. On true, fills "result" with the information that references the copied file, if possible.
Reimplemented in DatagramOutputFile.
Definition at line 41 of file datagramSink.cxx.
Referenced by BamWriter::write_file_data().
bool DatagramSink::copy_datagram | ( | SubfileInfo & | result, |
const SubfileInfo & | source | ||
) | [virtual] |
Copies the file data from the range of the indicated file (outside of the vfs) as the next datagram.
This is intended to support potentially very large datagrams.
Returns true on success, false on failure or if this method is unimplemented. On true, fills "result" with the information that references the copied file, if possible.
Reimplemented in DatagramOutputFile.
Definition at line 59 of file datagramSink.cxx.
const FileReference * DatagramSink::get_file | ( | ) | [virtual] |
Returns the FileReference that provides the target for these datagrams, if any, or NULL if the datagrams do not written to a file on disk.
Reimplemented in DatagramOutputFile.
Definition at line 88 of file datagramSink.cxx.
Referenced by get_filename().
streampos DatagramSink::get_file_pos | ( | ) | [virtual] |
Returns the current file position within the data stream, if any, or 0 if the file position is not meaningful or cannot be determined.
For DatagramSinks that return a meaningful file position, this will be pointing to the first byte following the datagram returned after a call to put_datagram().
Reimplemented in DatagramOutputFile.
Definition at line 105 of file datagramSink.cxx.
const Filename & DatagramSink::get_filename | ( | ) | [virtual] |
Returns the filename that provides the target for these datagrams, if any, or empty string if the datagrams do not get written to a file on disk.
Reimplemented in DatagramOutputFile.
Definition at line 71 of file datagramSink.cxx.
References get_file(), and FileReference::get_filename().
Referenced by BamWriter::get_filename().