.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" 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 >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 .\" .\" 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 "POE::Component::Client::MPD::Connection 3pm" .TH POE::Component::Client::MPD::Connection 3pm "2019-01-19" "perl v5.28.1" "User Contributed Perl 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" POE::Component::Client::MPD::Connection \- module handling the tcp connection with mpd .SH "VERSION" .IX Header "VERSION" version 2.001 .SH "DESCRIPTION" .IX Header "DESCRIPTION" This module will spawn a poe session responsible for low-level communication with mpd. It is written as a POE::Component::Client::TCP, which is taking care of everything needed. .PP Note that you're \fBnot\fR supposed to use this class directly: it's one of the helper class for POE::Component::Client::MPD. .SH "ATTRIBUTES" .IX Header "ATTRIBUTES" .SS "host" .IX Subsection "host" The hostname of the mpd server. Mandatory, no default. .SS "port" .IX Subsection "port" The port of the mpd server. Mandatory, no default. .SS "id" .IX Subsection "id" The \s-1POE\s0 session id of the peer to dialog with. Mandatory, no default. .SS "max_retries" .IX Subsection "max_retries" How much time to attempt reconnection before giving up. Defaults to 5. .SS "retry_wait" .IX Subsection "retry_wait" How much time to wait (in seconds) before attempting socket reconnection. Defaults to 2. .SH "METHODS" .IX Header "METHODS" .ie n .SS "my $id = POE::Component::Client::MPD::Connection\->spawn( \e%params );" .el .SS "my \f(CW$id\fP = POE::Component::Client::MPD::Connection\->spawn( \e%params );" .IX Subsection "my $id = POE::Component::Client::MPD::Connection->spawn( %params );" This method will create a POE::Component::Client::TCP session responsible for low-level communication with mpd. .PP It will return the poe id of the session newly created. .SH "PUBLIC EVENTS ACCEPTED" .IX Header "PUBLIC EVENTS ACCEPTED" .SS "disconnect( )" .IX Subsection "disconnect( )" Request the pococm-connection to be shutdown. This does \fBnot\fR shut down the \s-1MPD\s0 server. No argument. .ie n .SS "send( $message )" .el .SS "send( \f(CW$message\fP )" .IX Subsection "send( $message )" Request pococm-conn to send the \f(CW$message\fR over the wires. Note that this request is a POE::Component::Client::MPD::Message object properly filled up, and that the \f(CW\*(C`_commands()\*(C'\fR attribute should \fBnot\fR be newline terminated. .SH "PUBLIC EVENTS FIRED" .IX Header "PUBLIC EVENTS FIRED" The following events are fired from the spawned session. .ie n .SS "mpd_connected( $version )" .el .SS "mpd_connected( \f(CW$version\fP )" .IX Subsection "mpd_connected( $version )" Fired when the session is connected to a mpd server. This event isn't fired when the socket connection takes place, but when the session has checked that remote peer is a real mpd server. \f(CW$version\fR is the advertised mpd server version. .ie n .SS "mpd_connect_error_fatal( $errstr )" .el .SS "mpd_connect_error_fatal( \f(CW$errstr\fP )" .IX Subsection "mpd_connect_error_fatal( $errstr )" Fired when the session encounters a fatal error. This happens either when the session is connected to a server which happens to be something else than a mpd server, or if there was more than \f(CW\*(C`max_retries\*(C'\fR (see \&\f(CW\*(C`spawn()\*(C'\fR params) connection retries in a row. \f(CW$errstr\fR will contain the problem encountered. No retries will be done. .ie n .SS "mpd_connect_error_retriable( $errstr )" .el .SS "mpd_connect_error_retriable( \f(CW$errstr\fP )" .IX Subsection "mpd_connect_error_retriable( $errstr )" Fired when the session has troubles connecting to the server. \f(CW$errstr\fR will point the faulty syscall that failed. Re-connection will be tried after \f(CW$retry_wait\fR seconds (see \f(CW\*(C`spawn()\*(C'\fR params). .ie n .SS "mpd_data( $msg )" .el .SS "mpd_data( \f(CW$msg\fP )" .IX Subsection "mpd_data( $msg )" Fired when \f(CW$msg\fR has been sent over the wires, and mpd server has answered with success. The actual output should be looked up in \&\f(CW\*(C`$msg\-\*(C'\fR_data>. .SS "mpd_disconnected( )" .IX Subsection "mpd_disconnected( )" Fired when the socket has been disconnected for whatever reason. Note that this event is \fBnot\fR fired in the case of a programmed shutdown (see \f(CW\*(C`disconnect()\*(C'\fR event above). A reconnection will be automatically re-tried after \f(CW$retry_wait\fR (see \f(CW\*(C`spawn()\*(C'\fR params). .ie n .SS "mpd_error( $msg, $errstr )" .el .SS "mpd_error( \f(CW$msg\fP, \f(CW$errstr\fP )" .IX Subsection "mpd_error( $msg, $errstr )" Fired when \f(CW$msg\fR has been sent over the wires, and mpd server has answered with the error message \f(CW$errstr\fR. .SH "AUTHOR" .IX Header "AUTHOR" Jerome Quelin .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" This software is copyright (c) 2007 by Jerome Quelin. .PP This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.