게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
boost::asio::strand::dispatch 함수질문이요~~
게시물ID : programmer_4334짧은주소 복사하기
작성자 : 음음냠냠
추천 : 0
조회수 : 355회
댓글수 : 0개
등록시간 : 2014/07/03 20:37:31
시험 삼아 asio::strand 를 사용해 서버를 만들어 보고 있는데

strand::dispatch 함수 사용시 리턴값이 있을경우 어떻게 넘겨줘야 할까요?

GameRoom_ptr GameRoomManager::join_room(user_session_weakptr arg_user)
{
GameRoom_ptr ptr;
bool op = true;
GameRoom_ptr _roomptr;

m_strand.dispatch([&, arg_user]()
{
auto curiter = m_gameroom_map.begin();
while (curiter != m_gameroom_map.end())
{
if (curiter->second->user_count() < 10)
{
break;
}
}

if (curiter != m_gameroom_map.end())
{
_roomptr = curiter->second;
}
else
{
_roomptr = create_room();
}

if (_roomptr != NULL)
{
_roomptr->join(arg_user);
}
else
{
op = false;
}
});

if (op == false)
return NULL;
return _roomptr;

}

일딴은 접속자가 1명이라 문제가 생기지 않을꺼라 생각되고 여러명일 경우 리턴값에 null이 떨어지게 될꺼 같은데
이벤트 처리 방법으로 변경 해야 할까요????


전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호