aboutsummaryrefslogtreecommitdiff
path: root/libsylph/session.h
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-11-24 09:51:59 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-11-24 09:51:59 +0000
commitad0f146da6cc7938b169b3242de20fcaa343813f (patch)
treed5217cece672514b22e9985be6c2f5cfd6c42a7a /libsylph/session.h
parent5160f092433264a840703291f90daee43e409ad8 (diff)
reduced memory usage on POP3 session.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@774 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'libsylph/session.h')
-rw-r--r--libsylph/session.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/libsylph/session.h b/libsylph/session.h
index 988349d7..1bd948eb 100644
--- a/libsylph/session.h
+++ b/libsylph/session.h
@@ -111,10 +111,19 @@ struct _Session
gchar *read_buf_p;
gint read_buf_len;
+ /* buffer for short messages */
GString *read_msg_buf;
+
+ /* buffer for relatively short multiple lines data */
GByteArray *read_data_buf;
gchar *read_data_terminator;
+ /* buffer for large data */
+ FILE *read_data_fp;
+ gint read_data_pos;
+
+ gint preread_len;
+
/* buffer for short messages */
gchar *write_buf;
gchar *write_buf_p;
@@ -140,6 +149,10 @@ struct _Session
guchar *data,
guint len);
+ gint (*recv_data_as_file_finished) (Session *session,
+ FILE *fp,
+ guint len);
+
void (*destroy) (Session *session);
/* notification functions */
@@ -202,4 +215,8 @@ gint session_recv_data (Session *session,
guint size,
const gchar *terminator);
+gint session_recv_data_as_file (Session *session,
+ guint size,
+ const gchar *terminator);
+
#endif /* __SESSION_H__ */