README.md in net_tcp_client-1.0.0 vs README.md in net_tcp_client-1.0.1

- old
+ new

@@ -1,15 +1,15 @@ -net_tcp_client -============== +# net_tcp_client +![](https://img.shields.io/gem/v/net_tcp_client.svg) ![](https://img.shields.io/travis/rocketjob/net_tcp_client.svg) ![](https://img.shields.io/gem/dt/net_tcp_client.svg) ![](https://img.shields.io/badge/status-production%20ready-blue.svg) Net::TCPClient is a TCP Socket Client with built-in timeouts, retries, and logging -* http://github.com/reidmorrison/net_tcp_client +* http://github.com/rocketjob/net_tcp_client ## Introduction -Net::TCPClient implements resilience features that most developers wish was +Net::TCPClient implements resilience features that many developers wish was already included in the standard Ruby libraries. With so many "client" libraries to servers such us memcache, MongoDB, Redis, etc. their focus is on the communication formats and messaging interactions. As a result adding resilience is usually an after thought. @@ -50,52 +50,76 @@ response = client.read(20) puts "Received: #{response}" end ``` -## Dependencies +## Project Status -- Ruby 1.9.3, JRuby 1.7, or greater +### Production Ready -There is a soft dependency on SemanticLogger. It will use SemanticLogger only if -it is already available, otherwise any other standard Ruby logger can be used. -- [SemanticLogger](http://github.com/reidmorrison/semantic_logger) +Net::TCPClient is actively being used in a high performance, highly concurrent +production environments. The resilient capabilities of Net::TCPClient are put to the +test on a daily basis, including connections over the internet between remote data centers. -## Production Use - -Net::TCPClient was built for and is being used in a high performance, highly concurrent -production environment. The resilient capabilities of Net::TCPClient are put to the -test on a daily basis, especially with connections over the internet between -remote data centers. - ## Installation gem install net_tcp_client -## Meta +Although not required, it is recommended to use [Semantic Logger](http://rocketjob.github.io/semantic_logger) for logging purposes: -* Code: `git clone git://github.com/reidmorrison/net_tcp_client.git` -* Home: <https://github.com/reidmorrison/net_tcp_client> -* Bugs: <http://github.com/reidmorrison/net_tcp_client/issues> -* Gems: <http://rubygems.org/gems/net_tcp_client> + gem install semantic_logger -This project uses [Semantic Versioning](http://semver.org/). +Or, add the following lines to you `Gemfile`: -## Author +```ruby + gem 'semantic_logger' + gem 'net_tcp_client' +``` -[Reid Morrison](https://github.com/reidmorrison) :: @reidmorrison +To configure a stand-alone application for Semantic Logger: -## License +```ruby +require 'semantic_logger' -Copyright 2012, 2013, 2014 Reid Morrison +# Set the global default log level +SemanticLogger.default_level = :trace -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at +# Log to a file, and use the colorized formatter +SemanticLogger.add_appender('development.log', &SemanticLogger::Appender::Base.colorized_formatter) +``` - http://www.apache.org/licenses/LICENSE-2.0 +If running Rails, see: [Semantic Logger Rails](http://rocketjob.github.io/semantic_logger/rails.html) -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. +Without Semantic Logger present a Ruby logger can be passed into Net::TCPClient. + +### Upgrading from ResilientSocket + +ResilientSocket::TCPClient has been renamed to Net::TCPClient. +The API is exactly the same, just with a new namespace. Please upgrade to the new +`net_tcp_client` gem and replace all occurrences of `ResilientSocket::TCPClient` +with `Net::TCPClient` in your code. + +## Supports + +Tested and supported on the following Ruby platforms: +- Ruby 1.9.3, 2.0, 2.1, 2.2 and above +- JRuby 1.7, 9.0 and above +- Rubinius 2.5 and above + +There is a soft dependency on [Semantic Logger](http://github.com/rocketjob/semantic_logger). It will use SemanticLogger only if +it is already available, otherwise any other standard Ruby logger can be used. + +### Note + +Be sure to place the `semantic_logger` gem dependency before `net_tcp_client` in your Gemfile. + +## Versioning + +This project adheres to [Semantic Versioning](http://semver.org/). + +## Author + +[Reid Morrison](https://github.com/reidmorrison) + +## Versioning + +This project uses [Semantic Versioning](http://semver.org/).