⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc984.txt

📁 RFC 相关的技术文档
💻 TXT
📖 第 1 页 / 共 5 页
字号:
   efficiently than they could (since users must make changes locally   and then run the action-processing/synchronization program, rather   than simply making changes interactively).   Another important reason for limiting operation to batch mode is that   it allows a very simple locking scheme to prevent problems raised by   concurrent state updates.  A user may have several clients; it is   therefore likely that the repository could get into a variety of   inconsistent states as different clients try to change the   repository's global mail state at the same time.  To prevent these   inconsistencies, a user's mail state is locked as soon as a client   connects to the repository.  The lock is released when the client   disconnects from the repository. This locking scheme is simple to   implement, but makes interactive-mode operation very cumbersome: if a   user remains constantly connected to the network (i.e. in interactive   mode), the repository would be unavailable to any of the user's other   clients for an unacceptable length of time.8. Conclusions   Pcmail is now used by a small community of people at the MIT   Laboratory for Computer Science.  The repository design works well,   providing a fairly efficient means of storing and maintaining mail   state for several users.  Members of another research group at LCS   are currently working on a replicated, scaleable version of the   repository designed to support a very large community of users with   high availability.  This repository also uses DMSP and has   successfully communicated with clients that use the current   repository implementation.  DMSP therefore seems to be useable over   several flavors of repository design. The clients, being PCs, are   unfortunately very limited in the way of resources, making local mail   state manipulation difficult at times.  Synchronization is alsoClark & Lambert                                                [Page 24]RFC 984                                                         May 1986PCMAIL   relatively time consuming due to the low performance of the PCs.  The   "batch-mode" of client operation is very useful for portable   computers that spend a large percentage of their time unplugged and   away from a network. It is somewhat less useful for the majority of   the clients, which are always connected to the network and could make   good use of an "interactive-mode" state manipulation.Clark & Lambert                                                [Page 25]RFC 984                                                         May 1986PCMAILI. DMSP Protocol Specification   Following is a list of DMSP block types and DMSP operations by object   type.  Again, "=>" marks blocks flowing from client to repository;   "<=" marks blocks flowing from repository to client.      General operations:         => or <= 503 (abort-request) [why:str]         (no acknowledgement)         => 504 (start-debug) []         <= 500 (ok) [] |            501 (failure) [why:str]         => 505 (end-debug) []         <= 500 (ok) []         => 506 (send-version) [version:card]         <= 500 (ok) [] |            501 (failure) [why:str]         => 507 (log-message) [message:str]         <= 500 (ok) [] |            501 (failure) [why:str]         => 508 (send-message) [message:seq[str]]         <= 500 (ok) [] |            501 (failure) [why:str]      User operations:         => 600 (login) [name:str, password:str,                         client:str, create-client-object?:bool                         batch-mode-flag:bool]         <= 500 (ok) [] |            501 (failure) [why:str] |            705 (force-client-reset) []         => 601 (logout) []         <= 500 (ok) []         => 602 (add-user) [name:str, password:str]         <= 500 (ok) [] |            501 (failure) [why:str]Clark & Lambert                                                [Page 26]RFC 984                                                         May 1986PCMAIL         => 603 (remove-user) [user:str]         <= 500 (ok) [] |            501 (failure) [why:str]         => 604 (set-password) [old:str, new:str]         <= 500 (ok) [] |            501 (failure) [why:str]      Client operations:         => 700 (list-clients) []         <= 701 (client-list) [client-list:seq[                               rec[name:str], status:card]]         => 702 (add-client) [client:str]         <= 500 (ok) [] |            501 (failure) [why:str]         => 703 (remove-client) [client:str]         <= 500 (ok) [] |            501 (failure) [why:str]         => 704 (reset-client) [client:str]         <= 500 (ok) [] |            501 (failure) [why:str]      Mailbox operations:         => 800 (list-mailboxes) []         <= 801 (mailbox-list) [mailbox-list:seq[                                rec[mailbox:str,                                    next-uid:lcard,                                    num-msgs:card,                                    num-unseen-msgs:card]]]         => 802 (add-mailbox) [mailbox:str]         <= 500 (ok) [] |            501 (failure) [why:str]         => 803 (remove-mailbox) [mailbox:str]         <= 500 (ok) [] |            501 (failure) [why:str]         => 808 (expunge-mailbox) [mailbox:str]         <= 500 (ok) [] |            501 (failure) [why:str]Clark & Lambert                                                [Page 27]RFC 984                                                         May 1986PCMAIL         => 809 (reset-mailbox) [mailbox:str]         <= 500 (ok) [] |            501 (failure) [why:str]      Address operations:         => 804 (list-addresses) [mailbox:str]         <= 501 (failure) [why:str] |            805 (address-list) [address-list:seq[str]]         => 806 (add-address) [mailbox:str, address:str]         <= 500 (ok) [] |            501 (failure) [why:str]         => 807 (remove-address) [mailbox:str, address:str]         <= 500 (ok) [] |            501 (failure) [why:str]      Message operations:         => 1100 (get-descriptor-flags) [mailbox:str, uid:lcard]         <= 1101 (descriptor-flags) [flags:seq[bool]] |            501 (failure) [why:str]         => 1102 (get-descriptors) [mailbox:str,                                    low-uid:lcard,                                    high-uid:lcard]         <= 501 (failure) [why:str] |            1103 (descriptor-list) [descriptor-list:seq[                   ch[                     expunged[uid:lcard],                     descriptor[rec[uid:lcard,                                    flags:seq[bool],                                    from-field:str,                                    to-field:str,                                    date-field:str,                                    subject-field:str,                                    nun-bytes:lcard,                                    num-lines:lcard]                          ]]]]Clark & Lambert                                                [Page 28]RFC 984                                                         May 1986PCMAIL         => 1105 (get-changed-descriptors) [mailbox:str,                                            max-to-send:card]         <= 501 (failure) [why:str] |            1103 (descriptor-list) [descriptor-list:seq[                   ch[                     expunged[uid:lcard],                     descriptor[rec[uid:lcard,                                    flags:seq[bool],                                    from-field:str,                                    to-field:str,                                    date-field:str,                                    subject-field:str,                                    num-bytes:lcard,                                    num-lines:lcard]                         ]]]]         => 1106 (reset-changed-descriptors) [                         mailbox:str,                         start-uid:lcard,                         end-uid:lcard]         <= 500 (ok) [] |            501 (failure) [why:str]         => 1107 (get-message-text) [mailbox:str,                                     uid:lcard]         <= 501 (failure) [why:str] |            1110 (message) [message:seq[str]]         => 1108 (print-message) [mailbox:str,                                  uid:lcard,                                  printer-name:str]         <= 500 (ok) [] |            501 (failure) [why:str]         => 1109 (set-flag) [mailbox:str,                             uid:lcard,                             flag-number:card,                             flag-setting:bool]         <= 500 (ok) [] |            501 (failure) [why:str]         => 1111 copy-message[source-mailbox:str,                              target-mailbox:str,                              source-uid:lcard]         <= 500 (ok) [] |            501 (failure) [why:str]Clark & Lambert                                                [Page 29]RFC 984                                                         May 1986PCMAIL   DMSP block types by number      General block types

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -