亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? section-connection.tex

?? 一個語言識別引擎
?? TEX
字號:

\chapter{The connection protocol}

This is the protocol used for a single connection from
an output port to an input port.  We discuss how this
process gets initiated in the next section.
At the point of creation of a connection, the
following information is needed:

\begin{itemize}

\item An address -- the machine name and socket-port at which
the input port is listening.

\item The name of the input port.

\item The name of the output port associated with the
connection.  This name
needs to be retained for proper disconnection in some cases.
If the connection is not actually associated with a port,
but is initiated by an external entity, then the name is
not important and should be set to ``external'' (or any
name without a leading slash characher).

\end{itemize}

\section{Basic phases}

The connection protocol has several phases -- header,
index, and body.

\begin{itemize}

\item Initiation phase
  \begin{itemize}
  \item We begin once the sender has
    successfully opened a tcp socket connection to the receiver
    (assuming that is the carrier it is registered with).
  \end{itemize}

\item Header phase
  \begin{itemize}
  \item This phase follows immediately after the initiation phase.
  \item Transmission of protocol specifier
    \begin{itemize}
      \item Sender transmits 8 bytes that identify the carrier
	that will be used.  The header may be used to pass a 
	few flags also.
      \item Receiver expects 8 bytes, and attempts to find a
	carrier that is consistent with them.
    \end{itemize}
  \item Transmission of sender name
    \begin{itemize}
      \item Sender transmits the name of the output port
	it is associated with, in a carrier specific way.
      \item Receiver expects the name of the output port,
	transmitted in a carrier specific way.
    \end{itemize}
  \item Transmission of extra header material
    \begin{itemize}
      \item Sender may transmit extra information, depending on
      the carrier.
      \item Receiver may expect extra information, depending on
      the carrier.
    \end{itemize}
  \end{itemize}

\item Header reply phase

  \begin{itemize}
    
  \item This phase follows immediately after the header phase, and
    concludes the preamble to actual data transmission.  After this
    phase, the two ports are considered connected.
    
  \item Receiver may transmit some data, depending on the carrier.
    Receiver then may switch from the initial network
    protocol used to something else (udp, mcast, etc), again
    depending on the carrier.
    
  \item Sender may expect some data, depending on the carrier.
    Sender then may switch from the initial network
    protocol used to something else (udp, mcast, etc), again
    depending on the carrier.

  \end{itemize}

\item Index phase
    
  \begin{itemize}
    
  \item Sender sends carrier-dependent data describing properties of
    the payload data to come.
    
  \item Receiver expects carrier-dependent data describing properties
    of the payload data to come.
    
  \end{itemize}
  
\item Payload data phase
  
  \begin{itemize}
    
  \item Sender sends carrier-dependent expression of user data (maybe none).
    
  \item Receiver expects carrier-dependent expression of user data.
    
  \end{itemize}

\item Acknowledgement phase

  \begin{itemize}
    
  \item Receiver sends carrier-dependent acknowledgement of receipt of
    payload data (maybe none).
    
  \item Sender expects carrier-dependent acknowledgement of receipt of
    payload data (maybe none).
    
  \end{itemize}
  
\end{itemize}


\noindent
This is the basic pattern of YARP communication between ports.
Clearly different carriers have a lot of freedom in how they operate.


\section{The ``tcp'' carrier}


\begin{itemize}

\item{Header and header reply}

  \begin{itemize}
    
  \item The 8-byte protocol specifier for tcp is: \packet{'Y' 'A' 0xE4
    0x1E 0 0 'R' 'P'}.  Another possible variant is: \packet{'Y' 'A'
    0x64 0x1E 0 0 'R' 'P'}.  The first version identifies a connection
    that sends acknowledgements; the second is for connections that
    omit acknowledgements.
    
  \item The sender name is transmitted and expected to be in the
    following format: a 4 byte integer (little endian) giving the length
    of port, followed by the port name in characters, followed by the null
    character.

  \item There is no extra header material for this carrier.

  \item The header reply is as 8 bytes long: \packet{'Y' 'A' B1 B2 0 0
    'R' 'P'}, where (B1,B2) is a (little-endian) two-byte integer
    specifying a socket-port number (unused).  

  \item After the header reply, there is no switch in network protocol
    -- the initial tcp connection continues to be used.

    \end{itemize}

\item{Index, payload, and acknowledgement}

  \begin{itemize}

  \item The sender transmits 8 bytes: \packet{'Y' 'A' 10 0 0 0 'R' 'P'}.
    This identifies the length of the ``index header'' as 10.
    
  \item The sender transmits 10 bytes: \packet{LEN 1 255 255 255 255
    255 255 255 255}.  LEN is the number of blocks of user data need
    to be sent.  This byte-sequence says there are LEN send blocks, 1
    reply block expected, and that the sizes will be listed
    individually next (this odd format is for backward compatability
    with older YARP versions).
      
  \item The sender transmits LEN 4-byte little-endian integers, one
    for each of the LEN blocks of user data, giving the length of each
    block.
      
  \item The sender transmits 4 bytes: \packet{0 0 0 0}. This asks for
    a reply length of 0.

  \item If this is the variant of the tcp carrier that requires
  acknowledgments, then the receiver sends 8 bytes: \packet{'Y' 'A' B1
  B2 B3 B4 'R' 'P'}, where B1-4 is a little-endian integer giving a
  length (could be 0).  It then sends that number of extra bytes.

  \end{itemize}

\end{itemize}


\section{The ``udp'' carrier}


\begin{itemize}

\item{Header and header reply}

  \begin{itemize}
    
  \item The 8-byte protocol specifier for udp is: \packet{'Y' 'A' 0x61
    0x1E 0 0 'R' 'P'}.  The following variant of this should also be
    accepted: \packet{'Y' 'A' 0xE1 0x1E 0 0 'R' 'P'} (it is the same
    thing).

  \item Otherwise header and header reply are identical to the tcp case.
  \item After the header reply, both sides switch to a udp connection
    to the socket-port specified in the header reply.

  \end{itemize}

\item{Index, payload, and acknowledgement}

  \begin{itemize}

  \item Identical to tcp.  Data is split arbitrarily to fit into
    datagrams.
    
  \item Acknowledgments are not a possibility.

  \end{itemize}

\end{itemize}


\section{The ``mcast'' carrier}

\begin{itemize}

\item{Header and header reply}

  \begin{itemize}
    
  \item The 8-byte protocol specifier for mcast is: \packet{'Y' 'A' 0x62
    0x1E 0 0 'R' 'P'}.  The following variant of this should also be
    accepted: \packet{'Y' 'A' 0xE2 0x1E 0 0 'R' 'P'} (it is the same
    thing).

  \item The sender name is sent as for tcp.

  \item Extra header material is send -- 6 bytes.  The first 4 bytes
  specify a multicast IP address.  Next 2 bytes are a (bigendian)
  integer giving a socket-port number.  Note that producing these
  numbers can be helped by side communication with the name server.

  \item There is no header reply for mcast.
  
  \item Both sides switch to a multi-cast group on the specified IP
  and socket-port.

  \end{itemize}

\item{Index, payload, and acknowledgement}

  \begin{itemize}

  \item Identical to udp.

  \item But at most one connection from a given port with an mcast carrier
    should actually write to the multi-cast group.

  \end{itemize}
  
\end{itemize}



\section{The ``text'' carrier}

\begin{itemize}

\item This carrier is carefully designed to make it easy to type into
  a terminal.

\item{Header and header reply}

  \begin{itemize}
    
  \item The 8-byte protocol specifier for text is: \packet{'C' 'O' 'N' 'N' 'E' 'C' 'T' '\textvisiblespace{}'}.  

  \item The sender name is sent as plain text followed by the newline
  character `$\backslash$n'.

  \item There is no extra material

  \item There is no header reply expected for text.
  
  \item There is no network protocol switch.

  \end{itemize}

\item{Index, payload, and acknowledgement}

  \begin{itemize}

  \item There is no index.

  \item The payload is expected to be a series of lines of text
    terminated by the newline character `$\backslash$n'.

  \item There is no acknowledgement expected for text.

  \end{itemize}
  
\end{itemize}


\section{The ``shmem'' carrier}

This is essentially the same as the tcp carrier, except that there is no
header reply, and there is a shift in protocol after header transmission
on both sides to an ACE shared memory stream.  This carrier is 
currently being reworked to make its specification independent of ACE, 
and to further improve efficiency in an existing implementation.

The advantage of this carrier is that it is fast -- the best way to
send messages between processes on a single machine.  Of course, it
doesn't work for processes on different machines.


\section{The ``local'' carrier}

This is a new carrier designed specifically for communication between
threads in a single process.  Giving a specification for the protocol
it uses has low priority, since two such threads are unlikely to be
using different YARP implementations.


\section{Known protocol specifiers}

Here are the currently known protocol specifiers.
The ``shmem'' carrier is not yet documented, but is
implemented in the C++ version of YARP.

\begin{figure}[h]
\begin{tabular}{|cccccccc|l|l|}
\hline
\multicolumn{8}{|c|}{\bf 8-byte magic number} & {\bf protocol} & {\bf variant} \\ \hline\hline
`Y' & `A' & 0x61 & 0x1E & 0 & 0 & `R' & `P'  & udp & \\
`Y' & `A' & 0xE1 & 0x1E & 0 & 0 & `R' & `P'  & udp & \\
`Y' & `A' & 0x62 & 0x1E & 0 & 0 & `R' & `P'  & mcast & \\
`Y' & `A' & 0xE2 & 0x1E & 0 & 0 & `R' & `P'  & mcast & \\
`Y' & `A' & 0x63 & 0x1E & 0 & 0 & `R' & `P'  & shmem & \\
`Y' & `A' & 0xE3 & 0x1E & 0 & 0 & `R' & `P'  & shmem & \\
`Y' & `A' & 0x64 & 0x1E & 0 & 0 & `R' & `P'  & tcp & without acks \\
`Y' & `A' & 0xE4 & 0x1E & 0 & 0 & `R' & `P'  & tcp & with acks \\
`C' & `O' & `N'  & `N'  & `E' & `C' & `T' & `\textvisiblespace{}'  & text & \\
`L' & `O' & `C'  & `A'  & `L' & `I' & `T' & Y  & local & \\
\hline
\end{tabular}
\end{figure}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产在线播放一区二区三区| 亚洲影院久久精品| 精品福利在线导航| 日韩欧美国产系列| 国产精品美女久久久久久久| 亚洲视频图片小说| 精品在线亚洲视频| 91老司机福利 在线| 日韩一区二区免费电影| 自拍偷在线精品自拍偷无码专区| 91天堂素人约啪| 亚洲免费高清视频在线| 国产精品18久久久久久久网站| 色av综合在线| 欧美xxxxxxxxx| 天堂蜜桃91精品| 91在线观看视频| 亚洲一区在线看| 欧美精品一区二区三区一线天视频 | 日韩专区在线视频| 日韩精品一区二区三区视频播放| 韩国女主播一区| 日韩一级完整毛片| 成人一级视频在线观看| 精品久久久久99| 不卡一区二区三区四区| 1区2区3区国产精品| 成人精品视频一区二区三区| 一区二区三区在线观看动漫| 99re热这里只有精品视频| 中文字幕欧美国产| 粉嫩av一区二区三区在线播放 | 亚洲精品中文字幕乱码三区| 成人v精品蜜桃久久一区| 一区二区三区四区在线| 日韩午夜小视频| 99国产麻豆精品| 狠狠色丁香婷婷综合久久片| 玉足女爽爽91| 久久久www成人免费毛片麻豆 | 亚洲午夜影视影院在线观看| 欧美性极品少妇| 亚洲综合图片区| 国产亲近乱来精品视频| 国产在线乱码一区二区三区| 一级做a爱片久久| 国产欧美一区二区精品婷婷| 欧美男男青年gay1069videost| 亚洲第一福利一区| 欧美精品一级二级三级| 日av在线不卡| 精品粉嫩aⅴ一区二区三区四区| 91久久精品一区二区| 国产盗摄女厕一区二区三区| 国产精品视频免费| 精品国产sm最大网站免费看| 欧美精品三级在线观看| 色呦呦日韩精品| 亚洲福利视频一区| 亚洲欧美偷拍三级| 国产精品久线在线观看| 欧美日韩精品一二三区| 色偷偷久久一区二区三区| 波多野结衣中文一区| 亚洲欧美乱综合| 欧美高清在线一区二区| 日韩精品一区二区三区在线播放 | 久久久久亚洲综合| 精品国产乱码久久| 欧美一二三在线| 欧美理论片在线| 欧美日韩黄色影视| 欧美日高清视频| 欧美日韩一卡二卡三卡| 国产精品一区二区无线| 激情综合网激情| 福利一区二区在线| 风流少妇一区二区| av爱爱亚洲一区| 色中色一区二区| 欧美丝袜丝交足nylons| 欧美久久久久中文字幕| 欧美日韩国产一二三| 欧美夫妻性生活| 精品理论电影在线观看| 久久婷婷综合激情| 欧美日韩精品久久久| 欧美日韩国产不卡| 精品国产一二三区| 久久久久88色偷偷免费| 中文字幕免费不卡在线| 亚洲美女区一区| 日韩中文字幕区一区有砖一区 | 欧美日韩激情一区二区三区| 538prom精品视频线放| 91片在线免费观看| 欧美日本一区二区三区四区| 欧美一级高清片在线观看| 亚洲精品一区二区三区香蕉| 国产精品另类一区| 一级中文字幕一区二区| 麻豆国产精品一区二区三区| 亚洲精品大片www| 日韩精品三区四区| 国内精品伊人久久久久av一坑 | 国产视频一区在线观看| 精品蜜桃在线看| 中文久久乱码一区二区| 亚洲成人在线免费| 国产成人精品三级麻豆| 欧美在线不卡视频| 91久久奴性调教| 日韩片之四级片| 亚洲精品免费播放| 蓝色福利精品导航| 久久爱另类一区二区小说| www.亚洲色图.com| 欧美一级黄色大片| 亚洲精品视频在线看| 韩国一区二区在线观看| 欧美性生活大片视频| 国产性天天综合网| 三级久久三级久久久| thepron国产精品| 精品福利av导航| 亚洲成av人**亚洲成av**| 国产超碰在线一区| 欧美一区二区视频观看视频| 日韩视频免费观看高清完整版| 国产精品理伦片| 久久aⅴ国产欧美74aaa| 在线观看精品一区| 国产清纯白嫩初高生在线观看91 | 国产91清纯白嫩初高中在线观看 | 香蕉久久一区二区不卡无毒影院 | 激情综合色丁香一区二区| 欧美伊人久久大香线蕉综合69| 欧美精品一区二区蜜臀亚洲| 亚洲午夜在线电影| 99久久精品国产精品久久| 精品国产乱码久久久久久图片| 亚洲成人黄色影院| 91在线观看成人| 国产精品理伦片| 高清不卡一二三区| 精品人在线二区三区| 日韩一区精品视频| 欧美绝品在线观看成人午夜影视| 亚洲美女视频在线| 99精品视频一区二区| 亚洲国产精品成人综合| 国产乱码精品一区二区三区av | 国产乱人伦精品一区二区在线观看| 欧美精品亚洲二区| 亚洲午夜一二三区视频| 日本高清无吗v一区| 亚洲三级理论片| www.激情成人| 亚洲区小说区图片区qvod| jlzzjlzz亚洲日本少妇| 国产精品毛片无遮挡高清| 国产福利一区二区| 国产视频一区二区在线观看| 国产中文一区二区三区| 国产亚洲女人久久久久毛片| 国产一区二区免费看| 久久久久久久久久久久久夜| 国产综合色在线视频区| 国产亚洲欧洲997久久综合| 国产成人精品网址| 国产精品久久久一区麻豆最新章节| 成人黄色免费短视频| 18成人在线观看| 色婷婷精品久久二区二区蜜臀av| 亚洲精品日产精品乱码不卡| 在线观看免费成人| 日韩二区三区在线观看| 91麻豆产精品久久久久久| 中文字幕五月欧美| 色天天综合色天天久久| 亚洲综合色自拍一区| 欧美一区二区三区婷婷月色| 久草中文综合在线| 中文字幕免费不卡| 欧洲亚洲精品在线| 青草av.久久免费一区| 久久久久国产精品麻豆| 成人成人成人在线视频| 亚洲第一久久影院| 精品国产免费人成电影在线观看四季 | 欧美性一二三区| 日本成人在线一区| 国产精品视频九色porn| 欧美性色欧美a在线播放| 精品一区二区国语对白| 亚洲欧美韩国综合色| 4438x成人网最大色成网站| 国产美女精品一区二区三区| 曰韩精品一区二区| 久久婷婷久久一区二区三区|