.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Required to disable full justification in groff 1.23.0. .if n .ds AD l .\" ======================================================================== .\" .IX Title "LEI-DAEMON 8" .TH LEI-DAEMON 8 1993-10-02 public-inbox.git "public-inbox user manual" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" lei\-daemon \- اطلاعات فنی درباره دیمن رابط ایمیل محلی .SH "توضیحات (DESCRIPTION)" .IX Header "توضیحات (DESCRIPTION)" این مستندات یک نمای کلی سطح بالا برای توسعه‌دهندگان و مدیران سیستمی است که علاقه‌مند به نحوه کارکرد lei هستند. .PP برنامه lei\-daemon یک دیمن پس‌زمینه است که ابزار خط فرمان \fBlei\fR\|(1) را پشتیبانی و اجرا می‌کند. این دیمن ممکن است در آینده از کاربران مجازی و APIهای خواندن/نوشتن IMAP+JMAP پشتیبانی کند. این دیمن طوری طراحی شده است که با اجتناب از هزینه‌های بارگذاری ماژول‌ها، تکمیل خودکار پوسته را بهینه‌سازی کرده و Maildirها (و در آینده نزدیک، پوشه‌های IMAP) را برای تغییرات پایش کند. .SS "فرایندهای کارگر (worker processes)" .IX Subsection "worker processes" بیشتر دستورات باعث می‌شوند lei\-daemon فرایندهای کارگر (worker) جدیدی را برای جداسازی و موازی‌سازی کارها \fBfork\fR\|(2) کند. lei\-daemon از نظر مصرف منابع به‌طور قابل توجهی تهاجمی‌تر از فرایندهای فقط‌خواندنی \&\fBpublic\-inbox\-daemon\fR\|(8) عمل می‌کند، چرا که برای پشتیبانی از سناریوهای C10K/C100K طراحی نشده است. .SS "انتقال توصیف‌گر فایل (file descriptor passing)" .IX Subsection "file descriptor passing" انتقال توصیف‌گر فایل (FD passing) برای کاهش هزینه‌های IPC در ورودی/خروجی‌های حجیم (bulk I/O) هنگام وارد کردن (import) mboxهای بزرگ از ورودی استاندارد (stdin) و ریختن (dump) mboxهای بزرگ به خروجی استاندارد (stdout) استفاده می‌شود. .SS SOCK_SEQPACKET .IX Subsection "SOCK_SEQPACKET" سوکت‌های SOCK_SEQPACKET هم برای برقراری ارتباط با \&\fBlei\fR\|(1) و هم برای ارتباط با کارگران داخلی استفاده می‌شوند. SOCK_SEQPACKET برخلاف SOCK_DGRAM، قابلیت اطمینان را تضمین می‌کند، امکان توزیع آسان بار را فراهم می‌سازد و توسعه‌دهندگان را از زحمت نگهداری و مدیریت تجزیه‌کننده‌های جریان داده (stream parsers) بی‌نیاز می‌سازد. .SS "پایش فایل‌ها (file monitoring)" .IX Subsection "file monitoring" بسته به پلتفرم، از Inotify یا EVFILT_VNODE برای پایش تغییرات Maildirها و ردیابی تغییرات کلیدواژه‌ها استفاده می‌شود. .PP سوکت شنود (پیش‌فرض: \f(CW\*(C`$XDG_RUNTIME_DIR/lei/5.seq.sock\*(C'\fR) نیز پایش می‌شود و در صورتی که اتصال آن حذف (unlink) شود، دیمن به‌طور خودکار خاموش خواهد شد. .SH "تماس (CONTACT)" .IX Header "تماس (CONTACT)" از بازخوردها از طریق ایمیل متنی ساده به استقبال می‌شود. .PP آرشیوهای ایمیل در و میزبانی می‌شوند. .SH "حق نشر (COPYRIGHT)" .IX Header "حق نشر (COPYRIGHT)" حق نشر برای تمامی مشارکت‌کنندگان .PP مجوز: AGPL\-3.0+ .SH "همچنین ببینید (SEE ALSO)" .IX Header "همچنین ببینید (SEE ALSO)" \&\fBlei\-overview\fR\|(7)، \fBlei\-daemon\-kill\fR\|(1)، \fBlei\-daemon\-pid\fR\|(1)