Socket::INET;
use POSIX qw(EINTR EAGAIN EWOULDBLOCK);
use Socket qw(IPPROTO_TCP TCP_NODELAY);
use JSON::XS ();
our $CRLF = "\x0d\x0a";
our $DELIMITER = "\x20";
our $MAX_REQUEST_SIZE = 131072;
o
'request' => 1,
'request_background' => 1,
'request_multi' => 1,
);
our $JSON;
sub new_client {
my $address = shift;
my $sock = IO::Socket::INET->new(
PeerAd
ROTO_TCP, TCP_NODELAY, pack("l", 1)) or die;
$sock->autoflush(1);
$sock;
}
sub json {
$JSON ||= JSON::XS->new->allow_nonref;
}
sub support_cmd {
$CMD2NO{+shift};
}
sub make_request