* [ANN] mogilefs-client 3.10.0 - MogileFS client library for Ruby
@ 2016-08-31 7:43 5% Eric Wong
0 siblings, 0 replies; 2+ results
From: Eric Wong @ 2016-08-31 7:43 UTC (permalink / raw)
To: ruby-talk, mogile; +Cc: mogilefs-client-public
A MogileFS client library for Ruby. MogileFS is an open source
distributed filesystem, see: http://mogilefs.org for more details. This
library allows any Ruby application to read, write and delete files in a
MogileFS instance.
Changes:
Ruby mogilefs-client 3.10.0
A bunch of minor tweaks to reduce garbage and exceptions.
In addition to the existing :timeout and :fail_timeout options,
there is a new :connect_timeout directive for all connection
classes which only controls the time spent waiting for a TCP
connection. This defaults to the same value as the existing
:timeout option (3 seconds); but users are advised to lower
it to match ideal network conditions.
For users of Ruby 2.3+, this release takes advantage of
exception-less Socket#connect_nonblock using "exception: false".
Users of Ruby 2.1+ will also benefit from "exception: false"
usage for read_nonblock and write_nonblock calls.
kgio is no longer be useful with this release with Ruby 2.3+
This release also fixes a Ruby 1.8.7 compatibility bug for
non-kgio users. However, this may be the last 1.8.7-compatible
release. Fwiw, I wanted to remove Ruby 1.8 support around 5
years ago but several users were against it. Maybe nobody will
complain, this time...
18 changes since 3.9.0:
doc: avoid inadvertantly documenting the Process class
admin: simplify utilization conversion
more idiomatic comparisons with constants
bigfile/filter: only update MD5 if non-nil
bigfile: lazily require bigfile/filter
backend: simplify regexp
.olddoc.yml: add NNTP and mailing list archive URL
minor garbage reductions for newer Rubies
socket/pure_ruby: fix Ruby 1.8 compatibility
socket/pure_ruby: use `:exception=>false' on Ruby 2.1+
test_fresh: do not delete non-existent domain
admin: map unset reject_bad_md5 field to nil
socket/pure_ruby: connect with "exception:false" on Ruby 2.3+
implement :connect_timeout option
add .gitattributes for Ruby method detection
README: stop mentioning cgit
connect_timeout: match :timeout if unset
pkg.mk: use --local option for gem installation
rdoc :: http://bogomips.org/mogilefs-client/
list :: mogilefs-client-public@bogomips.org
list-cc :: mogile@googlegroups.com
list-archive :: http://bogomips.org/mogilefs-client-public/
git clone git://bogomips.org/mogilefs-client.git
nntp://news.public-inbox.org/inbox.comp.file-systems.mogilefs.ruby
^ permalink raw reply [relevance 5%]
* [PATCH] socket/pure_ruby: fix Ruby 1.8 compatibility
@ 2015-11-04 21:43 7% Eric Wong
0 siblings, 0 replies; 2+ results
From: Eric Wong @ 2015-11-04 21:43 UTC (permalink / raw)
To: mogilefs-client-public
For non-kgio users, IO#wait_readable did not appear until Ruby 2.0.
Additionally, optimistically perform reads before waiting because
EOF handling behavior differs in current revisions of Ruby 2.3.0dev.
---
lib/mogilefs/socket/pure_ruby.rb | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/mogilefs/socket/pure_ruby.rb b/lib/mogilefs/socket/pure_ruby.rb
index 7530a40..e74bbef 100644
--- a/lib/mogilefs/socket/pure_ruby.rb
+++ b/lib/mogilefs/socket/pure_ruby.rb
@@ -23,15 +23,15 @@ class MogileFS::Socket < Socket
sock
end
- def wait_writable(timeout)
+ def wait_writable(timeout = nil)
IO.select(nil, [ self ], nil, timeout)
end unless self.instance_methods.include?(:wait_writable) # Ruby <2.0.0
def timed_read(len, dst = "", timeout = 5)
begin
- wait_readable(timeout) or unreadable_socket!(timeout)
return read_nonblock(len, dst)
rescue Errno::EAGAIN
+ wait(timeout) or unreadable_socket!(timeout)
rescue EOFError
return
end while true
@@ -39,10 +39,10 @@ class MogileFS::Socket < Socket
def timed_peek(len, dst, timeout = 5)
begin
- wait_readable(timeout) or unreadable_socket!(timeout)
rc = recv_nonblock(len, Socket::MSG_PEEK)
return rc.empty? ? nil : dst.replace(rc)
rescue Errno::EAGAIN
+ wait(timeout) or unreadable_socket!(timeout)
rescue EOFError
dst.replace("")
return
--
EW
^ permalink raw reply related [relevance 7%]
Results 1-2 of 2 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2015-11-04 21:43 7% [PATCH] socket/pure_ruby: fix Ruby 1.8 compatibility Eric Wong
2016-08-31 7:43 5% [ANN] mogilefs-client 3.10.0 - MogileFS client library for Ruby Eric Wong
Code repositories for project(s) associated with this public inbox
https://yhbt.net/mogilefs-client.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).