예제 #1
0
void MultidropMaster::startAddressing(uint32_t time, uint32_t timeout) {
    nodeNum = 0;
    lastAddressReceived = 0;
    nodeAddressTries = 0;
    addrTimeoutDuration = timeout;
    timeoutTime = time + addrTimeoutDuration;

    // Start address message
    startMessage(CMD_ADDRESS, BROADCAST_ADDRESS, 2, true, true);
    state = ADDRESSING;

    // First address
    setNextDaisyValue(1);
    sendByte(0x00, true);

    // Don't timeout on first check
    dontTimeout = true;
}
예제 #2
0
파일: FTPd.cpp 프로젝트: wnkz/COMP445-LA1
void FTPd::start(void)
{
	SOCKET c;
	socklen_t cLenght;
	struct sockaddr_in cAddr;

	startMessage();

	while (42) {
		cLenght = sizeof(sAddr);
		if ((c = accept(so, (struct sockaddr*)&cAddr, &cLenght)) < 0) {
			WSAError("accept() failed");
		}

		std::cout << "CONNECTION: " << inet_ntoa(cAddr.sin_addr) << ":" << ntohs(cAddr.sin_port) << std::endl;
		FTPdThread* cThread = new FTPdThread(localIP, c, &cAddr);
		cThread->start();
	}
}
예제 #3
0
파일: PdBase.cpp 프로젝트: senemezgi/ofxPd
//----------------------------------------------------------
PdBase& PdBase::operator<<(const StartMessage& var) {
	startMessage();
    return *this;
}
예제 #4
0
void MultidropMaster::resetAllNodes() {
    startMessage(CMD_RESET, BROADCAST_ADDRESS);
    finishMessage();
}
예제 #5
0
void
TeamsWindow::MessageReceived(BMessage* message)
{
	switch (message->what) {
		case MSG_DEBUG_THIS_TEAM:
		{
			TeamRow* row = dynamic_cast<TeamRow*>(
				fTeamsListView->CurrentSelection());
			if (row != NULL) {
				BMessage message(MSG_DEBUG_THIS_TEAM);
				message.AddInt32("team", row->TeamID());
				message.AddPointer("interface", fTargetHostInterface);
				be_app_messenger.SendMessage(&message);
			}
			break;
		}

		case MSG_TEAM_SELECTION_CHANGED:
		{
			TeamRow* row = dynamic_cast<TeamRow*>(
				fTeamsListView->CurrentSelection());
			bool enabled = false;
			if (row != NULL) {
				team_id id = row->TeamID();
				if (id != fCurrentTeam && id != B_SYSTEM_TEAM)
					enabled = true;
			}

			fAttachTeamButton->SetEnabled(enabled);
			break;
		}

		case MSG_SHOW_START_TEAM_WINDOW:
		{
			BMessage startMessage(*message);
			startMessage.AddPointer("interface", fTargetHostInterface);
			be_app_messenger.SendMessage(&startMessage);
			break;
		}

		case MSG_CHOSE_CORE_FILE:
		case B_CANCEL:
		{
			delete fCoreSelectionPanel;
			fCoreSelectionPanel = NULL;
			if (message->what == B_CANCEL)
				break;

			entry_ref ref;
			if (message->FindRef("refs", &ref) != B_OK)
				break;

			BMessage coreMessage(MSG_LOAD_CORE_TEAM);
			coreMessage.AddPointer("interface", fTargetHostInterface);
			coreMessage.AddRef("core", &ref);
			be_app_messenger.SendMessage(&coreMessage);
			break;
		}

		case MSG_LOAD_CORE_TEAM:
		{
			try {
				BMessenger messenger(this);
				fCoreSelectionPanel = new BFilePanel(B_OPEN_PANEL, &messenger,
					NULL, 0, false, new BMessage(MSG_CHOSE_CORE_FILE));
				fCoreSelectionPanel->Show();
			} catch (...) {
				delete fCoreSelectionPanel;
				fCoreSelectionPanel = NULL;
			}
			break;
		}

		case MSG_SWITCH_TARGET_CONNECTION:
		{
			TargetHostInterface* interface;
			if (message->FindPointer("interface", reinterpret_cast<void**>(
					&interface)) != B_OK) {
				break;
			}

			if (interface == fTargetHostInterface)
				break;

			fTargetHostInterface = interface;
			_NotifySelectedInterfaceChanged(interface);
			fLoadCoreButton->SetEnabled(fTargetHostInterface->IsLocal());
			break;
		}

		default:
			BWindow::MessageReceived(message);
			break;
	}
}