|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
|
+--java.lang.Thread
|
+--rath.msnm.AbstractProcessor
|
+--rath.msnm.NotificationProcessor
NS 서버와 일생을 같이하는 프로세서
| Field Summary |
| Fields inherited from class rath.msnm.AbstractProcessor |
callbackMap, in, isLive, msn, out, socket |
| Fields inherited from class java.lang.Thread |
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY |
| Fields inherited from interface rath.msnm.UserStatus |
AWAY_FROM_COMPUTER, BE_RIGHT_BACK, BUSY, IDLE, INVISIBLE, OFFLINE, ON_THE_LUNCH, ON_THE_PHONE, ONLINE |
| Constructor Summary | |
NotificationProcessor(MSNMessenger msn,
ServerInfo info)
|
|
NotificationProcessor(MSNMessenger msn,
ServerInfo info,
int trId)
|
|
| Method Summary | |
protected void |
acceptRinging(IncomingMessage msg)
전화 받고 Switchboard Server와 세션을 연결한다. |
void |
cleanUp()
스레드가 종료되고 스트림을 닫기 직전에 호출된다. |
void |
connectToSwitchboard(IncomingMessage msg)
대화를 연결하기 위해 NS로 받은 새로운 SS의 주소를 가지고 SS에 접속하고 Calling요청을 시작한다. |
void |
doCallFriend(String loginName)
주어진 loginName에게 대화요청 프로세스를 시작한다. |
SwitchboardSession |
doCallFriendWait(String loginName)
주어진 loginName에데 대화요청 프로세스를 시작하고, 세션이 연결될때까지 계속 기다린다. |
void |
doCollectList(IncomingMessage msg)
LST 메시지를 수집한다. |
String |
getMyStatus()
|
void |
init()
DS와의 연결이 맺어졌으니, 통신을 시작하기 위해 Version 정보를 보내는 일을 하게 된다. |
void |
judgeSerial(IncomingMessage msg)
NS의 SYN 응답을 받았을때 호출되며, Client의 serial과 Server의 serial의 값이 다를 경우 RL과 FL을 List-up하여 sync를 맞춘다. |
void |
logout()
NS에게 OUT코드를 전송하고 연결을 종료한다. |
void |
processAuth(IncomingMessage msg)
|
void |
processINF(IncomingMessage msg)
|
void |
processLogon(IncomingMessage msg)
|
void |
processMessage(IncomingMessage msg)
서버로부터 도착하는 메시지 (일방적인 push가 아닌)를 처리하는 부분이다. |
void |
processNotifyMessage(IncomingMessage msg)
Server로부터 일방적으로 notify되는 메시지들을 처리하는 부분이다. |
void |
processRename(IncomingMessage msg)
|
void |
processVER(IncomingMessage msg)
|
void |
requestAdd(String loginName)
|
void |
requestRemove(String loginName)
|
void |
responseAdd(IncomingMessage msg)
|
void |
responseRemove(IncomingMessage msg)
|
void |
setMyFriendlyName(String newName)
|
void |
setMyStatus(String code)
자신의 상태를 변경한다. |
void |
start()
프로세서 thread를 시작한다. |
| Methods inherited from class rath.msnm.AbstractProcessor |
getCurrentTransactionId, getServerName, isAutoOutSend, lookupMethod, makeConnection, markTransactionId, processError, registerCallback, removeInfiniteTransactionId, run, sendCHLResponse, sendMessage, sendMimeMessage, setAutoOutSend, setServerName |
| Methods inherited from class java.lang.Thread |
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, stop, stop, suspend, toString, yield |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
public NotificationProcessor(MSNMessenger msn,
ServerInfo info)
public NotificationProcessor(MSNMessenger msn,
ServerInfo info,
int trId)
| Method Detail |
public void init()
throws IOException
init in class AbstractProcessorIOException
public void processMessage(IncomingMessage msg)
throws Exception
AbstractProcessor
processMessage in class AbstractProcessorException
public void processNotifyMessage(IncomingMessage msg)
throws Exception
AbstractProcessor
processNotifyMessage in class AbstractProcessorException
protected void acceptRinging(IncomingMessage msg)
throws IOException
IOException
public void processVER(IncomingMessage msg)
throws Exception
Exception
public void processINF(IncomingMessage msg)
throws Exception
Exception
public void processAuth(IncomingMessage msg)
throws Exception
Exception
public void processLogon(IncomingMessage msg)
throws Exception
Exception
public void judgeSerial(IncomingMessage msg)
throws IOException
IOException
public void doCollectList(IncomingMessage msg)
throws IOException
IOException
public void setMyStatus(String code)
throws IOException
IOExceptionpublic String getMyStatus()
public void setMyFriendlyName(String newName)
throws IOException
IOException
public void processRename(IncomingMessage msg)
throws IOException
IOExceptionpublic void start()
start in class Thread
public void doCallFriend(String loginName)
throws IOException
IOException
public void requestAdd(String loginName)
throws IOException
IOException
public void responseAdd(IncomingMessage msg)
throws IOException
IOException
public void requestRemove(String loginName)
throws IOException
IOException
public void responseRemove(IncomingMessage msg)
throws IOException
IOException
public SwitchboardSession doCallFriendWait(String loginName)
throws IOException,
InterruptedException
IOException
InterruptedException
public void connectToSwitchboard(IncomingMessage msg)
throws IOException
IOExceptionpublic void cleanUp()
AbstractProcessor
cleanUp in class AbstractProcessor
public void logout()
throws IOException
IOException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||