Send, ProcessSend, RegisterSend, OnSend간 차이?
수업을 듣고 코드 분석하다가 질문드립니다. 이게 명확한 차이가 구분이 안가서 그런데
-Send
-ProcessSend
-RegisterSend
-OnSend (이건 Send 완료시로 알고있는데 맞나요?)
간의 어떤 차이가 있나요?
그리고 제가 코딩 실력이 부족해서 그런데 하나의 큰Send안에서 다 처리하는게 아니라 세분화 시켜놓아서 얻는 이점이 어떤건가요?
답변 1
3
우선 외부에 노출시키고 싶은 (public/protected) 부분과 아닌 부분으로 1차적으로 나뉩니다.
Send와 OnSend는 외부에서 사용하는 함수이죠.
Process와 Register를 구분시켜 놓은 이유는
각기 역할이 다르기 때문인데
실제 서버 송수신 함수를 제가 낚시에 비유를 많이 합니다.
낚시대를 던지고 (Register), 물고기 입질이 오면, 낚시대를 끌어 올려야(Process)겠죠.
둘이 하는 역할이 다르기 때문에 구분될 수 밖에 없습니다.
Send 완료시 호출되는 OnSend는 유저레벨에서 override해서
원하는 방식으로 사용하는 것입니다.
엔진 코드와 서버 컨텐츠 코드가 구분되어 있기 때문에
유동적으로 활용할 수 있게 별도의 함수로 빼놓은 것이죠.
코드에 절대적인 것은 없으니
다른 구조가 좋다면 수정해보시고
함수들을 하나로 관리하게 합쳐보시기 바랍니다.
다만 그러면 필연적으로 호출 시점 (등록과 완료 통지)에 따라
살짝 합치기 애매한 상황이 발생할겁니다.
writeLock을 잡을때 꼭 empty 상태여야하는 이유?
0
65
2
Memory Pool에서 오버플로우 질문입니다.
0
94
2
포토폴리오 및 진로 관련하여 고민입니다.
0
174
1
포토폴리오 관련 고민입니다.
0
91
1
실무에서도 alloc, 스마트포인터 등을 구현해서 쓰는지 궁금합니다.
0
108
2
성능 테스트 결과
0
117
2
게임 서버 Stateful, Stateless 진로 고민
0
147
1
WaitOnAddress와 Sleep의 차이 질문
0
100
1
궁금한거 있습니다.
0
92
2
JobTimer 구동 스레드
0
116
2
TryPop() 동작 관련 질문
0
87
1
로드맵 C#서버 C++서버 방향성 질문
0
162
2
스레드 id를 출력할떄 메인스레드 id도 출력되나요?
0
81
1
생명주기를 위한 의도적 복사
0
95
2
락프리의 실무에서 사용 질문
0
154
2
32bit threadID와 16비트 상위 WriteFlag에 대해
0
110
2
mutex와 sleep 차이점
0
133
1
실무에서는 어떠한 코드 스타일을 사용하는지 궁금합니다
0
167
2
Stomp Allocator의 Release함수에 대한 질문입니다.
0
102
1
공부법 관련해서
0
190
2
MakeShared 함수 관련
0
119
1
지금까지 서버코어에서 만든 내용에 대해 궁금한 점이 있어서 질문 드립니다.
0
152
2
운영체제관련 질문입니다
0
145
1
send하려는 데이터 크기가 크면 memcpy에서 문제가 발생할 것 같습니다.
0
125
2





