Skip to content

Commit 8c3231e

Browse files
authored
Merge pull request #1 from BenLloydPearson/readme
Copyediting.
2 parents 421576b + 16fb3dd commit 8c3231e

File tree

2 files changed

+9
-74
lines changed

2 files changed

+9
-74
lines changed

README.md

Lines changed: 9 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,41 @@
11

22

33
# imapnio
4-
A Java library supporting NIO (Non-blocking I/O) based IMAP client.
4+
A Java library that supports NIO (Non-blocking I/O) based IMAP clients.
55

6-
IMAP NIO client provides a framework to allow access to an IMAP message store using None-blocking I/O mechanism. This design scales well for thousands of connections per machine and reduces contention when using a large number of threads and CPUs.
6+
The IMAP NIO client provides a framework to access an IMAP message store using None-blocking I/O mechanism. This design scales well for thousands of connections per machine and reduces contention when using a large number of threads and CPUs.
77

88

99
## Table of Contents
1010

1111
- [Background](#background)
1212
- [Install](#install)
13-
- [Configuration](#configuration)
1413
- [Usage](#usage)
1514
- [Contribute](#contribute)
1615
- [License](#license)
1716

1817

1918
## Background
2019

21-
Traditional accessing IMAP message store uses [JavaMail API](https://www.oracle.com/technetwork/java/javamail/index.html), which requires blocking I/O where a thread is blocked when performing I/O with the other end.This project was developed to allow for relieving the waiting thread to perform other tasks. This design efficiently improves the threads utilization and allows the consuming application to maximize the hardware throughput and capacity.
20+
The traditional accessing IMAP message store uses [JavaMail API](https://www.oracle.com/technetwork/java/javamail/index.html), which requires a blocking I/O. In this case, threads are blocked when performing I/O with the other end. This project was developed to relieve the waiting thread to perform other tasks, and it's design efficiently improves thread utilization to maximize hardware throughput and capacity.
2221

23-
Following is a list of distinguishing features in this project:
22+
Some of the more distinguishing features of this library are:
2423
- Highly customizable thread model and server/client idle max limit.
25-
- Leverages the well-established framework - [Netty](https://netty.io/)
24+
- Leverages the well-established framework [Netty](https://netty.io/)
2625
- Future-based design enables a clean separation of IMAP client threads pool versus consumers threads pool.
2726
- IMAPv4, [RFC3501](https://tools.ietf.org/html/rfc3501) support.
2827
- ID command, [RFC2971](https://tools.ietf.org/html/rfc2971) support.
2928
- IDLE command, [RFC2177](https://tools.ietf.org/html/rfc2177) support
3029
- MOVE command, [RFC6851](https://tools.ietf.org/html/rfc6851) support
3130
- UNSELECT command, [RFC3691](https://tools.ietf.org/html/rfc3691) support
3231

33-
This project is ideal for applications that have a high requirement to optimize the threads utilization for improving its overall resource capacity. Mostly appropriate for consumers performing a great amount of sessions and communications with the IMAP server.
34-
35-
Following external references will establish the foundation for understanding this project:
36-
[Netty](https://netty.io/)
37-
[IMAP4rev1](https://tools.ietf.org/html/rfc3501)
38-
32+
This project is ideal for applications that have a high requirement to optimize thread utilization and improve overall resource capacity. Specifically, this is best for situations where users perform a very high level of sessions and communication with the IMAP server.
3933

4034
## Install
4135

42-
If you've never used git before, please take a moment to familiarize yourself with [what it is and how it works](https://git-scm.com/book/en/v2/Getting-Started-Git-Basics). To install this project, you'll [need to have git installed and set up](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) on your local development environment.
43-
44-
Install by running the following command.
45-
46-
```
47-
git clone https://github.com/lafaspot/imapnio.git
48-
```
49-
50-
This will create a directory called imapnio and download the contents of this repo to it.
51-
52-
53-
## Configuration
54-
This is a Java library. After downloading it, compile it using the following command.
55-
$ mvn clean install
36+
This is a Java library. After downloading it, compile it using `mvn clean install`
5637

57-
Then update your project's pom.xml file dependencies, as follows:
38+
Then, update your project's pom.xml file dependencies, as follows:
5839
```
5940
<dependency>
6041
<groupId>com.github.krdev.imapnio</groupId>
@@ -71,7 +52,7 @@ $ mvn clean deploy -Dgpg.passphrase=[pathPhrase]
7152

7253
## Usage
7354

74-
Following code examples provide a list of usages on how to connect and communicate with any IMAP server.
55+
The following code examples demonstrate basic functionality relate to connecting to and communicating with IMAP servers.
7556

7657
### Create a client
7758
```java

README.txt

Lines changed: 0 additions & 46 deletions
This file was deleted.

0 commit comments

Comments
 (0)