… | |
… | |
72 | |
72 | |
73 | package Net::FCP; |
73 | package Net::FCP; |
74 | |
74 | |
75 | use Carp; |
75 | use Carp; |
76 | |
76 | |
77 | $VERSION = 0.08; |
77 | $VERSION = 0.5; |
78 | |
78 | |
79 | no warnings; |
79 | no warnings; |
80 | |
80 | |
81 | our $EVENT = Net::FCP::Event::Auto::; |
81 | our $EVENT = Net::FCP::Event::Auto::; |
82 | |
82 | |
… | |
… | |
788 | if ($self->{datalength} == length $self->{data}) { |
788 | if ($self->{datalength} == length $self->{data}) { |
789 | my $data = delete $self->{data}; |
789 | my $data = delete $self->{data}; |
790 | my $meta = Net::FCP::parse_metadata substr $data, 0, $self->{metalength}, ""; |
790 | my $meta = Net::FCP::parse_metadata substr $data, 0, $self->{metalength}, ""; |
791 | |
791 | |
792 | $self->set_result ([$meta, $data]); |
792 | $self->set_result ([$meta, $data]); |
|
|
793 | $self->eof; |
793 | } |
794 | } |
794 | } |
795 | } |
795 | |
796 | |
796 | sub rcv_data_found { |
797 | sub rcv_data_found { |
797 | my ($self, $attr, $type) = @_; |
798 | my ($self, $attr, $type) = @_; |
… | |
… | |
835 | |
836 | |
836 | package Net::FCP::Exception; |
837 | package Net::FCP::Exception; |
837 | |
838 | |
838 | use overload |
839 | use overload |
839 | '""' => sub { |
840 | '""' => sub { |
840 | "Net::FCP::Exception<<$_[0][0]," . (join ":", %{$_[0][1]}) . ">>\n"; |
841 | "Net::FCP::Exception<<$_[0][0]," . (join ":", %{$_[0][1]}) . ">>"; |
841 | }; |
842 | }; |
842 | |
843 | |
843 | =item $exc = new Net::FCP::Exception $type, \%attr |
844 | =item $exc = new Net::FCP::Exception $type, \%attr |
844 | |
845 | |
845 | Create a new exception object of the given type (a string like |
846 | Create a new exception object of the given type (a string like |