diff options
Diffstat (limited to 'xpa/man/man1/xpamb.1')
-rw-r--r-- | xpa/man/man1/xpamb.1 | 334 |
1 files changed, 0 insertions, 334 deletions
diff --git a/xpa/man/man1/xpamb.1 b/xpa/man/man1/xpamb.1 deleted file mode 100644 index 30c799d..0000000 --- a/xpa/man/man1/xpamb.1 +++ /dev/null @@ -1,334 +0,0 @@ -.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) -.\" -.\" 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 -.. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -. 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 turned on, 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 -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "xpamb 1" -.TH xpamb 1 "May 12, 2017" "version 2.1.18" "SAORD Documentation" -.\" 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" -xpamb: the XPA Message Bus -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -The xpamb program can act as a \*(L"classical\*(R" message bus interface -between clients and servers. A client can send a data request to -the message bus, which then interfaces with multiple servers and -returns the data back to the client. -.SH "OPTIONS" -.IX Header "OPTIONS" -For xpaset, several optional switches are used to save data and -manipulate the stored data: -.IP "\(bu" 4 -\&\fB\-data [name]\fR -.Sp -Add the supplied data buffer to a pool of stored data buffers, -using the specified name as a unique identifier for later retrieval. -An error occurs if the name already exists (use either \fBreplace\fR -or \fBdel\fR to rectify this). The \fB\-add\fR switch is supported -for backwards compatibility with xpa 2.0. -.IP "\(bu" 4 -\&\fB\-replace [name]\fR -.Sp -Replace previously existing stored data having the same unique name -with new data. This essentially is a combination of the \fBdel\fR -and \fBdata\fR commands. -.IP "\(bu" 4 -\&\fB\-info [\*(L"'info string'\*(R"]\fR -.Sp -When adding a data buffer, you can specify an informational -string to be stored with that data. This string will be returned -by xpaget: -.Sp -.Vb 1 -\& xpaget xpamb foo \-info -.Ve -.Sp -(along with other information such as the date/time of storage and the size of -the data buffer) if the \-info switch is specified. If the info string contains -spaces, you must enclose it in \fBtwo\fR sets of quotes: -.Sp -.Vb 1 -\& cat foo | xpaset xpamb \-data foo \-info "\*(Aqthis is info on foo\*(Aq" -.Ve -.Sp -The first set of quotes is removed by the shell while the second is used to -delineate the info string. -.IP "\(bu" 4 -\&\fB\-send [name]\fR -.Sp -Broadcast the stored data buffer to the named template. -.IP "\(bu" 4 -\&\fB\-del [name]\fR -.Sp -Delete the named data buffer and free all allocated space. -.PP -Switches can be used in any combination that makes sense. For example: -.PP -.Vb 1 -\& cat foo.fits | xpaset xpamb \-data foo \-info "FITS" "DS9:*" fits foo.fits -.Ve -.PP -will broadcast the foo.fits image to all access points of class -\&\fB\s-1DS9\s0\fR. In addition, the foo.fits file will be stored under the -name of \fBfoo\fR for later manipulation such as: -.PP -.Vb 1 -\& xpaset \-p xpamb \-send foo "DS9:*" fits foo.fits -.Ve -.PP -will re-broadcast the foo.fits image to all access points of class \*(L"\s-1DS9\*(R".\s0 -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -A \*(L"classical\*(R" message bus (such as ToolTalk) consists of servers and -clients, along with a mediating program that transfers data between -different processes. \s-1XPA\s0 takes a slightly different approach in that -communication between clients and servers is direct. This generally -is the correct technique when there is only one connection (or even a -small number of connections), but can become inefficient for the -serving program if a large amount of data is being transferred to many -clients. For example, if a real-time data acquisition program is -broadcasting a \s-1FITS\s0 image to several clients, it would need to -transmit that image to each client individually. This might interfere -with its own processing cycles. The preferable mechanism would be to -pass the image off to an intermediate program that can then broadcast -the data to the several clients. -.PP -The \fBxpamb\fR program can alleviate such problems by functioning -as a message bus in cases where such an intermediary process is -wanted. It pre-defines a single access point named -\&\fBXPAMB:xpamb\fR to which data can be sent for re-broadcast. You -also can tell \fBxpamb\fR to save the data, and associate with that -data a new access point, so that it can be retrieved later on. -.PP -All interaction with \fBxpamb\fR is performed through -\&\fBxpaset\fR and \fBxpaget\fR (or the corresponding \s-1API\s0 -routines, \fB\f(BIXPASet()\fB\fR and \fB\f(BIXPAGet()\fB\fR) to the -\&\fBXPAMB:xpamb\fR access point. That is, \fBxpamb\fR is just -another XPA-enabled program that responds to requests from -clients. The paramlist is used to specify the targets to which -the data will be for re-broadcast, as well as the re-broadcast paramlist: -.PP -.Vb 1 -\& data | xpaset xpamb [switches] broadcast\-target broadcast\-paramlist -.Ve -.PP -Optional switches are used to store data, and manipulate stored data, -and are described below. -.PP -In its simplest form, you can, for example, send a \s-1FITS\s0 image to xpamb for -broadcasting to all ds9 image simply by executing: -.PP -.Vb 1 -\& cat foo.fits | xpaset xpamb "DS9:*" fits foo.fits -.Ve -.PP -Since \fB\s-1DS9\s0\fR is the class name for the ds9 image display -program, this will result in the \s-1FITS\s0 image being re-sent to all fits -access points for all active image display programs. -.PP -You can send stored data and new data to the same set of access points at -the same time. The stored data always is sent first, followed by the new -data: -.PP -.Vb 1 -\& cat foo2.fits | xpaset xpamb \-send foo "DS9:*" fits foo.fits -.Ve -.PP -will first send the foo.fits file, and then the foo2.fits file to all -access points of class \fB\s-1DS9\s0\fR. Notice that in this example, -the foo2.fits file is not stored, but it could be stored by using the -\&\fB\-store [name]\fR switch on the command line. -.PP -The \fBxpaget\fR command can be used to retrieve a data from \s-1XPA\s0 -access points or from a stored data buffer, or retrieve information -about a stored data buffer. If no arguments are given: -.PP -.Vb 1 -\& xpaget xpamb -.Ve -.PP -then information about all currently stored data buffers is returned. This -information includes the data and time at which the data was stored, the -size in bytes of the data, and the supplied info string. -.PP -If arguments are specified, they will be in the form: -.PP -.Vb 1 -\& xpaget xpamb [\-info] [\-data] [name [paramlist]] -.Ve -.PP -If the optional \fB\-info\fR and/or \fB\-data\fR switches are specified, then -information and/or data will be returned for the named data buffer -following the switches. You can use either or both of these switches -in a single command. For example, if the \-info switch is used: -.PP -.Vb 1 -\& xpaget xpamb \-info foo -.Ve -.PP -then the info about that stored data buffer will be returned. -If the \-data is used with a specific name: -.PP -.Vb 1 -\& xpaget xpamb \-data foo -.Ve -.PP -then the stored data itself will be returned. If both are used: -.PP -.Vb 1 -\& xpaget xpamb \-info \-data foo -.Ve -.PP -then the info will be returned, followed by the data. Note that it is an -error to specify one of these switches without a data buffer name and that -the paramlist will be ignored. -.PP -If neither the \fB\-info\fR or \fB\-data\fR switch is specified, then -the name refers to an \s-1XPA\s0 access point (with an optional paramlist -following). -For example: -.PP -.Vb 1 -\& xpaget xpamb ds9 file -.Ve -.PP -is equivalent to: -.PP -.Vb 1 -\& xpaget ds9 file -.Ve -.SH "SEE ALSO" -.IX Header "SEE ALSO" -See xpa(n) for a list of \s-1XPA\s0 help pages |