mirror of
https://github.com/overte-org/overte.git
synced 2025-08-06 16:36:54 +02:00
octree packet methods can take a cost
This commit is contained in:
parent
85b8449e83
commit
39e6d7d31b
3 changed files with 9 additions and 7 deletions
|
@ -87,7 +87,8 @@ bool OctreeEditPacketSender::serversExist() const {
|
||||||
|
|
||||||
// This method is called when the edit packet layer has determined that it has a fully formed packet destined for
|
// This method is called when the edit packet layer has determined that it has a fully formed packet destined for
|
||||||
// a known nodeID.
|
// a known nodeID.
|
||||||
void OctreeEditPacketSender::queuePacketToNode(const QUuid& nodeUUID, unsigned char* buffer, ssize_t length) {
|
void OctreeEditPacketSender::queuePacketToNode(const QUuid& nodeUUID, unsigned char* buffer,
|
||||||
|
ssize_t length, qint64 satoshiCost) {
|
||||||
NodeList* nodeList = NodeList::getInstance();
|
NodeList* nodeList = NodeList::getInstance();
|
||||||
|
|
||||||
foreach (const SharedNodePointer& node, nodeList->getNodeHash()) {
|
foreach (const SharedNodePointer& node, nodeList->getNodeHash()) {
|
||||||
|
@ -157,7 +158,8 @@ void OctreeEditPacketSender::processPreServerExistsPackets() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void OctreeEditPacketSender::queuePendingPacketToNodes(PacketType type, unsigned char* buffer, ssize_t length) {
|
void OctreeEditPacketSender::queuePendingPacketToNodes(PacketType type, unsigned char* buffer,
|
||||||
|
ssize_t length, qint64 satoshiCost) {
|
||||||
// If we're asked to save messages while waiting for voxel servers to arrive, then do so...
|
// If we're asked to save messages while waiting for voxel servers to arrive, then do so...
|
||||||
|
|
||||||
if (_maxPendingMessages > 0) {
|
if (_maxPendingMessages > 0) {
|
||||||
|
@ -210,7 +212,8 @@ void OctreeEditPacketSender::queuePacketToNodes(unsigned char* buffer, ssize_t l
|
||||||
|
|
||||||
|
|
||||||
// NOTE: codeColorBuffer - is JUST the octcode/color and does not contain the packet header!
|
// NOTE: codeColorBuffer - is JUST the octcode/color and does not contain the packet header!
|
||||||
void OctreeEditPacketSender::queueOctreeEditMessage(PacketType type, unsigned char* codeColorBuffer, ssize_t length) {
|
void OctreeEditPacketSender::queueOctreeEditMessage(PacketType type, unsigned char* codeColorBuffer,
|
||||||
|
ssize_t length, qint64 satoshiCost) {
|
||||||
|
|
||||||
if (!_shouldSend) {
|
if (!_shouldSend) {
|
||||||
return; // bail early
|
return; // bail early
|
||||||
|
|
|
@ -39,7 +39,7 @@ public:
|
||||||
/// Queues a single edit message. Will potentially send a pending multi-command packet. Determines which server
|
/// Queues a single edit message. Will potentially send a pending multi-command packet. Determines which server
|
||||||
/// node or nodes the packet should be sent to. Can be called even before servers are known, in which case up to
|
/// node or nodes the packet should be sent to. Can be called even before servers are known, in which case up to
|
||||||
/// MaxPendingMessages will be buffered and processed when servers are known.
|
/// MaxPendingMessages will be buffered and processed when servers are known.
|
||||||
void queueOctreeEditMessage(PacketType type, unsigned char* buffer, ssize_t length);
|
void queueOctreeEditMessage(PacketType type, unsigned char* buffer, ssize_t length, qint64 satoshiCost = 0);
|
||||||
|
|
||||||
/// Releases all queued messages even if those messages haven't filled an MTU packet. This will move the packed message
|
/// Releases all queued messages even if those messages haven't filled an MTU packet. This will move the packed message
|
||||||
/// packets onto the send queue. If running in threaded mode, the caller does not need to do any further processing to
|
/// packets onto the send queue. If running in threaded mode, the caller does not need to do any further processing to
|
||||||
|
@ -100,8 +100,8 @@ public:
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool _shouldSend;
|
bool _shouldSend;
|
||||||
void queuePacketToNode(const QUuid& nodeID, unsigned char* buffer, ssize_t length);
|
void queuePacketToNode(const QUuid& nodeID, unsigned char* buffer, ssize_t length, qint64 satoshiCost = 0);
|
||||||
void queuePendingPacketToNodes(PacketType type, unsigned char* buffer, ssize_t length);
|
void queuePendingPacketToNodes(PacketType type, unsigned char* buffer, ssize_t length, qint64 satoshiCost = 0);
|
||||||
void queuePacketToNodes(unsigned char* buffer, ssize_t length);
|
void queuePacketToNodes(unsigned char* buffer, ssize_t length);
|
||||||
void initializePacket(EditPacketBuffer& packetBuffer, PacketType type);
|
void initializePacket(EditPacketBuffer& packetBuffer, PacketType type);
|
||||||
void releaseQueuedPacket(EditPacketBuffer& packetBuffer); // releases specific queued packet
|
void releaseQueuedPacket(EditPacketBuffer& packetBuffer); // releases specific queued packet
|
||||||
|
|
|
@ -71,7 +71,6 @@ void VoxelsScriptingInterface::setVoxel(float x, float y, float z, float scale,
|
||||||
VoxelDetail addVoxelDetail = {x / (float)TREE_SCALE, y / (float)TREE_SCALE, z / (float)TREE_SCALE,
|
VoxelDetail addVoxelDetail = {x / (float)TREE_SCALE, y / (float)TREE_SCALE, z / (float)TREE_SCALE,
|
||||||
scale / (float)TREE_SCALE, red, green, blue};
|
scale / (float)TREE_SCALE, red, green, blue};
|
||||||
|
|
||||||
|
|
||||||
// handle the local tree also...
|
// handle the local tree also...
|
||||||
if (_tree) {
|
if (_tree) {
|
||||||
if (_undoStack) {
|
if (_undoStack) {
|
||||||
|
|
Loading…
Reference in a new issue