[ 
https://issues.apache.org/jira/browse/JAMES-808?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zsombor Gegesy updated JAMES-808:
---------------------------------

    Attachment: opt.patch

The patch solves the following problems:
 1, handle parsing of the BODY[]<0.1024> style tags, however the truncating is 
not implemented yet.
 2, calculates exactly which information is necessary from the backend. I've 
added a HEADER, and an ENVELOPE flag also, HEADER means the header lines, the 
ENVELOPE is the packed description of the mime structure. I were unable to 
figure out a better name for it.
 3, With some modifications on the MessageResult interface, the frontend can 
push some calculations to the backend where it can efficiently cache the 
values. So for example, if it's absolutly necessary, after the patch it is not 
required to construct a MimeMessage to determine the structure of the message, 
the backend can store the information when it's receives, and just serve it 
efficiently. 

> Fetch command is not very efficient
> -----------------------------------
>
>                 Key: JAMES-808
>                 URL: https://issues.apache.org/jira/browse/JAMES-808
>             Project: James
>          Issue Type: Improvement
>          Components: IMAPServer
>    Affects Versions: Trunk
>            Reporter: Zsombor Gegesy
>             Fix For: Trunk
>
>         Attachments: opt.patch
>
>
> Currently the implementation of the FETCH command is not very efficient. For 
> example to retrieve one mail the following conversions will happens:
>  1, the backend creates a MimeMessage from a file/database blob/thin air/etc
>  2, the frontend converts into a byte array, with correct CRLF line endings. 
> (I don't get, why it's needed, every incoming MimeMessage is already in this 
> format, isn't it ?)
>  3, the frontend appends it into a StringBuffer in the FetchCommand class
>  4, after some String manipulation it gets sent over an InternetPrintWriter 
> which checks also that all line endings in correct style.
>  I'm not sure that the whole thing is absolutly necessary. There is two other 
> problem with the current code : 
>  1, it doesn't calculate the correct MessageResult flags, so the backend cant 
> optimize out the unnecessary things.
>  2,  It doesn't parse the BODY[]<0.1024> style commands. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to