objectDeltaDataOStream.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include "objectDeltaDataOStream.h"
00019
00020 #include "log.h"
00021 #include "object.h"
00022 #include "packets.h"
00023 #include "session.h"
00024
00025 #include <eq/base/idPool.h>
00026
00027 using namespace std;
00028
00029 namespace eq
00030 {
00031 namespace net
00032 {
00033 ObjectDeltaDataOStream::ObjectDeltaDataOStream( const Object* object)
00034 : ObjectDataOStream( object )
00035 {}
00036
00037 ObjectDeltaDataOStream::~ObjectDeltaDataOStream()
00038 {}
00039
00040 void ObjectDeltaDataOStream::sendBuffer( const void* buffer,
00041 const uint64_t size )
00042 {
00043 ObjectDeltaDataPacket deltaPacket;
00044 deltaPacket.deltaSize = size;
00045 deltaPacket.sessionID = _object->getSession()->getID();
00046 deltaPacket.objectID = _object->getID();
00047 deltaPacket.instanceID = _instanceID;
00048
00049 EQLOG( LOG_OBJECTS ) << "send " << &deltaPacket << " to "
00050 << _connections.size() << " receivers " << endl;
00051 Connection::send( _connections, deltaPacket, buffer, size, true );
00052 }
00053
00054 void ObjectDeltaDataOStream::sendFooter( const void* buffer,
00055 const uint64_t size )
00056 {
00057 ObjectDeltaPacket deltaPacket;
00058 deltaPacket.version = _version;
00059 deltaPacket.deltaSize = size;
00060 deltaPacket.sessionID = _object->getSession()->getID();
00061 deltaPacket.objectID = _object->getID();
00062 deltaPacket.instanceID = _instanceID;
00063
00064 EQLOG( LOG_OBJECTS ) << "send " << &deltaPacket << " to "
00065 << _connections.size() << " receivers " << endl;
00066 Connection::send( _connections, deltaPacket, buffer, size, true );
00067 }
00068 }
00069 }