rath.msnm.ftp
Class FileMessageProcessor

java.lang.Object
  |
  +--rath.msnm.ftp.FileMessageProcessor

public class FileMessageProcessor
extends Object

ÆÄÀÏ ¼Û¼ö½Å¿¡ »ç¿ëµÇ´Â °¢ Æ®·£Àè¼ÇµéÀ» °ü¸®Çϰí ÀÎÁõ¿¡ °ü·ÃµÈ Cookie³ª ½ÇÁ¦·Î ÆÄÀÏÀ» Àü¼ÛÇÏ´Â thread¸¦ ¶ç¿ì´ÂµîÀÇ ¿ªÇÒÀ» ¸ðµÎ ó¸®Çϴ Ŭ·¡½ºÀÌ´Ù.

¾Æ·¡´Â ÀÌ Å¬·¡½º°¡ ÇÒ ¼ö ÀÖ´Â ÀÏÀ» ³ª¿­ÇÑ´Ù.

Version:
$Id: FileMessageProcessor.java,v 1.1.1.1 2002/03/03 21:32:36 xrath Exp $, since 2002/01/10
Author:
Jang-Ho Hwang, rath@xrath.com

Constructor Summary
FileMessageProcessor(SwitchboardSession session)
          +* session¿¡¼­ ÀϾ´Â ¸ðµç File¿¡ Àü¼Û¿¡ °ü·ÃµÈ ¸Þ½ÃÁö¸¦ ó¸®ÇÏ°í °ü¸®ÇÏ´Â °´Ã¼¸¦ »ý¼ºÇÑ´Ù.
 
Method Summary
static boolean isAutoReceive()
          ÆÄÀÏ ÀÚµ¿¼ö½Å ¸ðµåÀÎÁö È®ÀÎÇÑ´Ù. default°ªÀº trueÀÌ´Ù.
 void processAccept(MimeMessage mime)
          ¼Û½Å¿äûÀ» ¼ö½ÅÀÚ°¡ 'Çã¶ô'ÇÏ¿´´Ù´Â ¸Þ½ÃÁö¸¦ ó¸®ÇÑ´Ù.
 void processCancel(MimeMessage mime)
          ¼Û½Å¿äûÀ» ¼ö½ÅÀÚ°¡ '°ÅÀý'ÇÏ¿´´Ù´Â ¸Þ½ÃÁö¸¦ ó¸®ÇÑ´Ù.
 void processDownload(MimeMessage mime)
          toReceiveMap¿¡ ¿äûµÈ cookie°¡ ÀÖ´ÂÁö Á¶»çÇÏ¿© ¹«°á¼ºÀ» ÁöÄѾ߸¸ ÇÑ´Ù.
protected  void processInvite(MimeMessage mime)
          »ó´ë¹æÀ¸·ÎºÎÅÍ µµÂøÇÑ ÆÄÀÏÀü¼Û ¿äûÀ» ó¸®ÇÑ´Ù.
 void processMessage(IncomingMessage msg, MimeMessage mime)
          ÆÄÀÏ ¼Û¼ö½Å¿¡ °ü·ÃµÈ ¸Þ½ÃÁöµéÀ» ó¸®ÇÏ´Â ¸ðµç ¸Þ¼Òµåµé¿¡ ´ëÇÑ Entry point°¡ µÇ´Â ¸Þ¼ÒµåÀÌ´Ù.
 void registerReceive(int cookie, File file)
          ÆÄÀÏ ¼ö½ÅÀ» Çã¶ôÇß´Ù´Â »ç½ÇÀ» ÀÌ session¿¡ µî·ÏÇÑ´Ù.
 void registerSend(ToSendFile file)
          ÆÄÀÏ ¼Û½Å ¿äûÀ» Çß´Ù´Â »ç½ÇÀ» ÀÌ session¿¡ µî·ÏÇÑ´Ù.
static void setAutoReceive(boolean auto)
          ÆÄÀÏ ÀÚµ¿¼ö½Å ¸ðµå¸¦ ¼³Á¤ÇÑ´Ù.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FileMessageProcessor

public FileMessageProcessor(SwitchboardSession session)
+* session¿¡¼­ ÀϾ´Â ¸ðµç File¿¡ Àü¼Û¿¡ °ü·ÃµÈ ¸Þ½ÃÁö¸¦ ó¸®ÇÏ°í °ü¸®ÇÏ´Â °´Ã¼¸¦ »ý¼ºÇÑ´Ù.

Method Detail

processMessage

public void processMessage(IncomingMessage msg,
                           MimeMessage mime)
ÆÄÀÏ ¼Û¼ö½Å¿¡ °ü·ÃµÈ ¸Þ½ÃÁöµéÀ» ó¸®ÇÏ´Â ¸ðµç ¸Þ¼Òµåµé¿¡ ´ëÇÑ Entry point°¡ µÇ´Â ¸Þ¼ÒµåÀÌ´Ù.

Parameters:
msg - »ó´ë¹æÀ¸·ÎºÎÅÍ ¹ÞÀº ¸Þ½ÃÁö
mime - ½ÇÁ¦ ÆÄÀÏÀü¼Û¿¡ °ü·ÃµÈ ³»¿ëÀÌ ´ã±ä Mime ¸Þ½ÃÁö·Î FileTransferMessageÀÌ´Ù. ´Ü, FileTransferMessageÀÇ ÀνºÅϽº´Â ¾Æ´Ï¹Ç·Î cast´Â ÇÒ ¼ö ¾ø´Ù.

processInvite

protected void processInvite(MimeMessage mime)
                      throws IOException
»ó´ë¹æÀ¸·ÎºÎÅÍ µµÂøÇÑ ÆÄÀÏÀü¼Û ¿äûÀ» ó¸®ÇÑ´Ù. ÀÌ ¸Þ¼Òµå¿¡¼­´Â MIME ¸Þ½ÃÁö¿¡¼­ ÇÊ¿äÇÑ Á¤º¸¸¸À» °ñ¶ó MsnFileEvent¸¦ ¹ß¼ÛÇÏ´Â ÀÏÀ» ÇÑ´Ù. ¸¸¾à, $setAutoReceive ¸Þ¼Òµå·Î ÀÚµ¿¼ö½Å ¿É¼ÇÀ» true·Î ÇØ³õ¾Ò´Ù¸é À̺¥Æ®¸¦ ¹ß¼ÛÇÏÁö ¾Ê°í °ð¹Ù·Î ¼ö½ÅÇã¶ô ¸Þ½ÃÁö¸¦ ¼Û½ÅÇÑ´Ù.

ÀÚµ¿ ¼ö½Å¸ðµå°¡ ¼³Á¤µÇ¾îÀÖÀ» °æ¿ì, ¼ö½ÅµÇ´Â ÆÄÀÏÀº ±âº»ÀûÀ¸·Î current directory¿¡ ÀúÀåµÉ °ÍÀÌ´Ù. ¸¸¾à À̰ÍÀ» ¼öÁ¤ÇÏ°í ½Í´Ù¸é, System propertyÀÇ msnm.file.download.dir¿¡ ¹Þ°íÀÚÇÏ´Â µð·ºÅ丮¸¦ ¼³Á¤ÇÏ¸é µÈ´Ù.

IOException

setAutoReceive

public static void setAutoReceive(boolean auto)
ÆÄÀÏ ÀÚµ¿¼ö½Å ¸ðµå¸¦ ¼³Á¤ÇÑ´Ù.


isAutoReceive

public static boolean isAutoReceive()
ÆÄÀÏ ÀÚµ¿¼ö½Å ¸ðµåÀÎÁö È®ÀÎÇÑ´Ù. default°ªÀº trueÀÌ´Ù.


registerSend

public void registerSend(ToSendFile file)
ÆÄÀÏ ¼Û½Å ¿äûÀ» Çß´Ù´Â »ç½ÇÀ» ÀÌ session¿¡ µî·ÏÇÑ´Ù. ÀÌ ¸Þ¼Òµå´Â ÇÁ·Î±×·¡¸Ó°¡ Á÷Á¢ È£ÃâÇÒ ÇÊ¿ä´Â ¾ø´Ù. publicÀ¸·Î ¼±¾ðµÈ ÀÌÀ¯´Â ´ÜÁö, rath.msnm.SwitchboardSession Ŭ·¡½ºÀÇ sendFileRequest¸Þ¼Òµå¿¡¼­ registerSend¸¦ È£ÃâÇØ¾ßµÉ Çʿ䰡 Àֱ⠶§¹®ÀÌ´Ù.

µî·Ï¿¡ ´ëÇÑ ÇØÁ¦´Â ¼ö½Å Çã¶ô/°ÅÀý ¸Þ½ÃÁö°¡ ¿À¸é ÀÚµ¿À¸·Î µÈ´Ù. ¸¸¾à µµÂøÇÏÁö ¾Ê´Â´Ù¸é, ¿µ¿øÈ÷ Map¿¡¼­ ÇØÁ¦µÇÁö ¾Ê´Â´Ù.


registerReceive

public void registerReceive(int cookie,
                            File file)
ÆÄÀÏ ¼ö½ÅÀ» Çã¶ôÇß´Ù´Â »ç½ÇÀ» ÀÌ session¿¡ µî·ÏÇÑ´Ù. ÀÌ ¸Þ¼Òµå´Â ÇÁ·Î±×·¡¸Ó°¡ Á÷Á¢ È£ÃâÇÒ ÇÊ¿ä´Â ¾ø´Ù.

µî·Ï¿¡ ´ëÇÑ ÇØÁ¦´Â ÃÖÁ¾ ¼Û½Å Çã°¡¸Þ½ÃÁö°¡ ¿À¸é ÀÚµ¿À¸·Î µÈ´Ù. ¸¸¾à µµÂøÇÏÁö ¾Ê´Â´Ù¸é, ¿µ¿øÈ÷ Map¿¡¼­ ÇØÁ¦µÇÁö ¾Ê´Â´Ù.


processAccept

public void processAccept(MimeMessage mime)
                   throws FileNotFoundException,
                          IOException
¼Û½Å¿äûÀ» ¼ö½ÅÀÚ°¡ 'Çã¶ô'ÇÏ¿´´Ù´Â ¸Þ½ÃÁö¸¦ ó¸®ÇÑ´Ù.

À̺¥Æ®¸¦ ¹ß¼Û½ÃŲ ÈÄ, FileÀ» Àü¼ÛÇϱâ À§ÇÑ FileServer thread¸¦ »ý¼ºÇÏ°í ½ÃÀÛÇÑ´Ù. ±× ÈÄ registerSend·Î µî·ÏµÈ ³»ºÎ Map¿¡¼­ Á¦°ÅµÈ´Ù.

FileNotFoundException
IOException

processCancel

public void processCancel(MimeMessage mime)
¼Û½Å¿äûÀ» ¼ö½ÅÀÚ°¡ '°ÅÀý'ÇÏ¿´´Ù´Â ¸Þ½ÃÁö¸¦ ó¸®ÇÑ´Ù.

À̺¥Æ®¸¦ ¹ß¼Û½ÃŲ ÈÄ, registerSend·Î µî·ÏµÈ ³»ºÎ Map¿¡¼­ Á¦°ÅµÈ´Ù.


processDownload

public void processDownload(MimeMessage mime)
toReceiveMap¿¡ ¿äûµÈ cookie°¡ ÀÖ´ÂÁö Á¶»çÇÏ¿© ¹«°á¼ºÀ» ÁöÄѾ߸¸ ÇÑ´Ù. ¼Û½ÅÃø¿¡¼­ 'ÀÌÁ¦ ¹Þ¾Æ°¡¶ó~' ÇÏ´Â ¸Þ½ÃÁö¿¡ ´ëÇÑ Ã³¸®¸¦ ÇØÁÖ¾î¾ß ÇÑ´Ù. Mime ¸Þ½ÃÁöÀÇ Á¤º¸¿¡ µû¶ó AuthCookie, host, port Á¤º¸¸¦ °¡Áö°í ¼Û½ÅÀÚÀÇ ¼­¹ö¿¡ Á¢¼ÓÇÏ¿© ÆÄÀÏÀ» ´Ù¿î·Îµå Çϰí, BYE~