void ProcessorGraph::clearConnections() { for (int i = 0; i < getNumNodes(); i++) { Node* node = getNode(i); int nodeId = node->nodeId; if (nodeId != OUTPUT_NODE_ID) { if (nodeId != RECORD_NODE_ID && nodeId != AUDIO_NODE_ID) { disconnectNode(node->nodeId); } GenericProcessor* p = (GenericProcessor*) node->getProcessor(); p->resetConnections(); } } // connect audio subnetwork for (int n = 0; n < 2; n++) { addConnection(AUDIO_NODE_ID, n, OUTPUT_NODE_ID, n); } addConnection(MESSAGE_CENTER_ID, midiChannelIndex, RECORD_NODE_ID, midiChannelIndex); }
CDatagrams::~CDatagrams() { if(m_bActive) { disconnectNode(); } if(m_pSocket) { delete m_pSocket; } if(m_tSender) { delete m_tSender; } if(m_pRecvBuffer) { delete m_pRecvBuffer; } if(m_pHostAddress) { delete m_pHostAddress; } }
void ProcessorGraph::removeProcessor(GenericProcessor* processor) { std::cout << "Removing processor with ID " << processor->getNodeId() << std::endl; disconnectNode(processor->getNodeId()); removeNode(processor->getNodeId()); }
void searchName (HEAD* head) { HASH* hashTable = head->pHash; int found = 0; int i; int key; LIST_NODE* tempNode = NULL; LIST_NODE* tempPre = NULL; CRICKET* player = NULL; char* searchVal; char searchValTemp[30]; printf(" Enter a name to search: "); gets(searchValTemp); searchVal = makeString(searchValTemp); searchVal = makeToupper(searchVal); key = convertToHash(searchVal); tempNode = hashTable[key].list; while (tempNode != NULL && !found) { if (strcmp(searchVal, ((CRICKET*)(tempNode->dataPtr))->name)==0) { player = tempNode->dataPtr; found = 1; playerStats(player); disconnectNode(tempNode, tempPre, hashTable, key); } if (!found) { tempPre = tempNode; tempNode = tempNode->next; } } if (!found) printf(" Player not found\n"); else { insertHash(player, hashTable, key); free(tempNode); hashTable[key].count--; } free(searchVal); return; }
void CDatagrams::listen() { QMutexLocker l(&m_pSection); if(m_bActive) { systemLog.postLog(LogSeverity::Debug, QString("CDatagrams::Listen - already listening")); return; } Q_ASSERT(m_pSocket == 0); m_pSocket = new QUdpSocket(this); CEndPoint addr = Network.getLocalAddress(); if(m_pSocket->bind(addr.port())) { systemLog.postLog(LogSeverity::Debug, QString("Datagrams listening on %1").arg(m_pSocket->localPort())); m_nDiscarded = 0; for(int i = 0; i < quazaaSettings.Gnutella2.UdpBuffers; i++) { m_FreeBuffer.append(new CBuffer(1024)); } for(int i = 0; i < quazaaSettings.Gnutella2.UdpInFrames; i++) { m_FreeDatagramIn.append(new DatagramIn); } for(int i = 0; i < quazaaSettings.Gnutella2.UdpOutFrames; i++) { m_FreeDatagramOut.append(new DatagramOut); } connect(this, SIGNAL(sendQueueUpdated()), this, SLOT(flushSendCache()), Qt::QueuedConnection); connect(m_pSocket, SIGNAL(readyRead()), this, SLOT(onDatagram()), Qt::QueuedConnection); m_bActive = true; } else { systemLog.postLog(LogSeverity::Debug, QString("Can't bind UDP socket! UDP communication disabled!")); disconnectNode(); } m_bFirewalled = true; }
void ProcessorGraph::removeProcessor(GenericProcessor* processor) { std::cout << "Removing processor with ID " << processor->getNodeId() << std::endl; int nodeId = processor->getNodeId(); disconnectNode(nodeId); removeNode(nodeId); if (processor->isSource()) { m_validTimestampSources.removeAllInstancesOf(processor); if (m_timestampSource == processor) { const GenericProcessor* newProc = 0; //Look for the next source node. If none is found, set the sourceid to 0 for (int i = 0; i < getNumNodes() && newProc == nullptr; i++) { if (getNode(i)->nodeId != OUTPUT_NODE_ID) { GenericProcessor* p = dynamic_cast<GenericProcessor*>(getNode(i)->getProcessor()); //GenericProcessor* p = static_cast<GenericProcessor*>(getNode(i)->getProcessor()); if (p && p->isSource() && p->isGeneratesTimestamps()) { newProc = p; } } } m_timestampSource = newProc; m_timestampSourceSubIdx = 0; } if (m_timestampWindow) m_timestampWindow->updateProcessorList(); } }
void ProcessorGraph::removeProcessor(GenericProcessor* processor) { std::cout << "Removing processor with ID " << processor->getNodeId() << std::endl; int nodeId = processor->getNodeId(); if (processor->isSource()) { getMessageCenter()->removeSourceProcessor(processor); } disconnectNode(nodeId); removeNode(nodeId); if (getMessageCenter()->getSourceNodeId() == nodeId) { int newId = 0; //Look for the next source node. If none is found, set the sourceid to 0 for (int i = 0; i < getNumNodes() && newId == 0; i++) { if (getNode(i)->nodeId != OUTPUT_NODE_ID) { GenericProcessor* p = dynamic_cast<GenericProcessor*>(getNode(i)->getProcessor()); //GenericProcessor* p = static_cast<GenericProcessor*>(getNode(i)->getProcessor()); if (p && p->isSource() && p->generatesTimestamps()) { newId = p->nodeId; } } } getMessageCenter()->setSourceNodeId(newId); } }