You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2017/01/10 15:59:16 UTC

[55/55] qpid-proton-j git commit: PROTON-1362: remove previously-deprecated Messenger

PROTON-1362: remove previously-deprecated Messenger


Project: http://git-wip-us.apache.org/repos/asf/qpid-proton-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton-j/commit/2afe2ec0
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton-j/tree/2afe2ec0
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton-j/diff/2afe2ec0

Branch: refs/heads/master
Commit: 2afe2ec099d8154a3f1f843d3e62246dbc50c016
Parents: 2f85988
Author: Robert Gemmell <ro...@apache.org>
Authored: Tue Jan 10 15:55:05 2017 +0000
Committer: Robert Gemmell <ro...@apache.org>
Committed: Tue Jan 10 15:55:05 2017 +0000

----------------------------------------------------------------------
 docs/markdown/index.md                          |   27 -
 .../messenger/addressing-and-routing.md         |  210 ---
 docs/markdown/messenger/index.md                |   13 -
 docs/markdown/messenger/message-disposition.md  |  196 ---
 docs/markdown/messenger/quick-start-linux.md    |   73 -
 .../markdown/messenger/sending-and-receiving.md |  144 --
 examples/java/messenger/README.txt              |   22 -
 examples/java/messenger/pom.xml                 |   41 -
 examples/java/messenger/recv                    |   31 -
 examples/java/messenger/send                    |   29 -
 .../org/apache/qpid/proton/example/Recv.java    |  133 --
 .../org/apache/qpid/proton/example/Send.java    |  104 --
 pom.xml                                         |    1 -
 .../java/org/apache/qpid/proton/Proton.java     |   30 -
 .../apache/qpid/proton/driver/Connector.java    |  127 --
 .../org/apache/qpid/proton/driver/Driver.java   |  160 --
 .../org/apache/qpid/proton/driver/Listener.java |   61 -
 .../qpid/proton/driver/impl/ConnectorImpl.java  |  280 ----
 .../qpid/proton/driver/impl/DriverImpl.java     |  254 ---
 .../qpid/proton/driver/impl/ListenerImpl.java   |   93 --
 .../apache/qpid/proton/messenger/Messenger.java |  285 ----
 .../proton/messenger/MessengerException.java    |   51 -
 .../apache/qpid/proton/messenger/Status.java    |   37 -
 .../apache/qpid/proton/messenger/Tracker.java   |   28 -
 .../qpid/proton/messenger/impl/Address.java     |  220 ---
 .../proton/messenger/impl/MessengerImpl.java    | 1555 ------------------
 .../qpid/proton/messenger/impl/Store.java       |  213 ---
 .../qpid/proton/messenger/impl/StoreEntry.java  |  185 ---
 .../qpid/proton/messenger/impl/TrackerImpl.java |   58 -
 .../qpid/proton/messenger/impl/Transform.java   |  150 --
 .../qpid/proton/reactor/impl/AcceptorImpl.java  |    1 -
 .../qpid/proton/reactor/impl/Address.java       |  219 +++
 .../qpid/proton/reactor/impl/IOHandler.java     |    1 -
 .../qpid/proton/reactor/impl/ReactorImpl.java   |    1 -
 .../qpid/proton/messenger/impl/AddressTest.java |   68 -
 .../qpid/proton/reactor/impl/AddressTest.java   |   68 +
 tests/java/pythonTests.ignore                   |    3 -
 tests/java/shim/binding/proton/__init__.py      |  618 -------
 tests/java/shim/cmessenger.py                   |  225 ---
 tests/java/shim/cproton.py                      |    1 -
 tests/java/shim/curl.py                         |    2 +-
 tests/python/proton_tests/__init__.py           |    2 -
 tests/python/proton_tests/common.py             |  305 ----
 tests/python/proton_tests/messenger.py          | 1091 ------------
 tests/python/proton_tests/soak.py               |  368 -----
 tests/python/proton_tests/ssl.py                |  211 ---
 46 files changed, 288 insertions(+), 7707 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2afe2ec0/docs/markdown/index.md
----------------------------------------------------------------------
diff --git a/docs/markdown/index.md b/docs/markdown/index.md
deleted file mode 100644
index 5262c44..0000000
--- a/docs/markdown/index.md
+++ /dev/null
@@ -1,27 +0,0 @@
-
-Proton is a library for speaking AMQP, including:
-
-- The AMQP [Messenger API](messenger/index.html), a simple but powerful interface to send and receive
-  messages over AMQP.
-- The [AMQP Protocol Engine](engine/engine.html), a succinct encapsulation of the full
-  AMQP protocol machinery.
-
-Proton is designed for maximum embeddability:
-
-- minimal dependencies
-- minimal assumptions about application threading model
-
-Proton is designed to scale up and down:
-
-- transparently supports both simple peer to peer messaging and complex
-globally federated topologies
-
-Proton is multi-lingual:
-
-- Proton-C - a C implementation with lanuage bindings in Python, Php, Perl,
-Ruby, and Java (via JNI).
-- Proton-J - a pure Java implementation
-
-Please see http://qpid.apache.org/proton for a more info.
-
-

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2afe2ec0/docs/markdown/messenger/addressing-and-routing.md
----------------------------------------------------------------------
diff --git a/docs/markdown/messenger/addressing-and-routing.md b/docs/markdown/messenger/addressing-and-routing.md
deleted file mode 100644
index 9714e1e..0000000
--- a/docs/markdown/messenger/addressing-and-routing.md
+++ /dev/null
@@ -1,210 +0,0 @@
-
-Messenger Addressing and Routing
-=================================================
-
-
-Addressing
--------------------------
-
-An address has the following form:
-
- [ amqp[s]:// ] [user[:password]@] domain [/[name]]
-
-Where domain can be one of:
-
- host | host:port | ip | ip:port | name
-
-The following are valid examples of addresses:
-
-    * example.org
-    * example.org:1234
-    * amqp://example.org
-    * amqps://example.org
-    * example.org/incoming
-    * amqps://example.org/outgoing
-    * amqps://fred:trustno1@example.org
-    * 127.0.0.1:1234
-    * amqps://127.0.0.1:1234
-
-The "/name" part of the address, that optionally follows
-the domain, is not used by the Messenger library.
-For example, if a receiver subscribes to 
-    
-        amqp://~0.0.0.0:5678
-
-Then it will receive messages sent to
-
-        amqp://~0.0.0.0:5678
-as well as
-        amqp://~0.0.0.0:5678/foo
-
-
-Likewise, if the receiver subscribes to
-
-        amqp://~0.0.0.0:5678/foo
-
-it will receive messages addressed to
-
-        amqp://~0.0.0.0:5678/foo
-        amqp://~0.0.0.0:5678
-
-and
-
-        amqp://~0.0.0.0:5678/bar
-
-
-
-
-<br/>
-
-Routing
-------------------------------
-
-### Pattern Matching, Address Translation, and Message Routing ###
-
-The Messenger library provides message routing capability
-with an address translation table.  Each entry in the table 
-consists of a *pattern* and a *translation*.
-
-You store a new route entry in the table with the call:
-
-        pn_messenger_route(messenger, pattern, translation);
-
-
-The address of each outgoing message is compared to the 
-table's patterns until the first matching pattern is found,
-or until all patterns have failed to match.
-
-If no pattern matches, then Messenger will send (or attempt
-to send) your message with the address as given.
-
-If a pattern does match your outgoing message's address, then
-Messenger will create a temporary address by transforming
-your message's address.  Your message will be sent to the 
-transformed address, but **(note!)** the address on your 
-outgoing message will not be changed.  The receiver will see 
-the original, not the transformed address.
-
-
-<br/>
-
-### Two Translation Mechanisms ###
-
-
-Messenger uses two mechanisms to translate addresses.
-The first is simple string substitution.
-
-
-        pattern:     COLOSSUS
-        translation: amqp://0.0.0.0:6666
-        input addr:  COLOSSUS
-        result:      amqp://0.0.0.0:6666
-
-
-The second mechanism is wildcard/variable substitution.
-A wildcard in the pattern matches all or part of your 
-input address.  The part of your input address that matched
-the wildcard is stored.  The matched value is then inserted
-into your translated address in place of numbered variables:
-$1, $2, and so on, up to a maximum of 64.
-
-There are two wildcards: * and % .
-The rules for matching are:
-
-        * matches anything
-        % matches anything but a /
-        other characters match themselves
-        the whole input addr must be matched
-
-
-Examples of wildcard matching:
-
-        pattern:      /%/%/%
-        translation:  $1x$2x$3
-        input addr:   /foo/bar/baz
-        result:       fooxbarxbaz
-
-        pattern:      *
-        translation:  $1
-        inout addr:   /foo/bar/baz
-        result:       /foo/bar/baz
-
-        pattern:      /*
-        translation:  $1
-        input addr:   /foo/bar/baz
-        result:       foo/bar/baz
-
-        pattern:      /*baz
-        translation:  $1
-        input addr:   /foo/bar/baz
-        result:       foo/bar/
-
-        pattern:      /%baz
-        translation:  $1
-        input addr:   /foo/bar/baz
-        result:       FAIL
-
-        pattern:      /%/baz
-        translation:  $1
-        input addr:   /foo/bar/baz
-        result:       FAIL
-
-        pattern:      /%/%/baz
-        translation:  $1
-        input addr:   /foo/bar/baz
-        result:       foo
-
-        pattern:      /*/baz
-        translation:  $1
-        input addr:   /foo/bar/baz
-        result:       foo/bar
-
-
-Examples of route translation usage:
-
-        pattern:     foo
-        translation: amqp://foo.com
-        explanation: Any message sent to "foo" will be routed to "amqp://foo.com"
-
-
-        pattern:     bar/*
-        translation: amqp://bar.com/$1
-        explanation: Any message sent to bar/<path> will be routed to the corresponding path within the amqp://bar.com domain.
-
-
-        pattern:     amqp:*
-        translation: amqps:$1
-        explanation: Route all messages over TLS.
-
-
-        pattern:     amqp://foo.com/*
-        translation: amqp://user:password@foo.com/$1
-        explanation: Supply credentials for foo.com.
-
-
-        pattern:     amqp://*
-        translation: amqp://user:password@$1
-        explanation: Supply credentials for all domains.
-
-
-        pattern:     amqp://%/*
-        translation: amqp://user:password@proxy/$1/$2
-        explanation: Route all addresses through a single proxy while preserving the
-         original destination.
-
-
-        pattern:     *
-        translation: amqp://user:password@broker/$1
-        explanation: Route any address through a single broker.
-
-
-
-<br/>
-
-### First Match Wins ###
-
-If you create multiple routing rules, each new rule is appended
-to your Messenger's list.  At send-time, Messenger looks down the 
-list, and the first rule that matches your outgoing message's 
-address wins.  Thus, when creating your routing rules, you should
-create them in order of most specific first, most general last.

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2afe2ec0/docs/markdown/messenger/index.md
----------------------------------------------------------------------
diff --git a/docs/markdown/messenger/index.md b/docs/markdown/messenger/index.md
deleted file mode 100644
index e8ccaa4..0000000
--- a/docs/markdown/messenger/index.md
+++ /dev/null
@@ -1,13 +0,0 @@
-Proton Messenger Documentation
-==========================================
-
-Proton Messenger is a high-level API that lets you build simple but powerful messaging systems.
-
-- Use the [Linux Quick Start](quick-start-linux.html) to download, build, and run your first Messenger example in two minutes.
-
-- Examples and explanations of Messenger's [Sending and Receiving](sending-and-receiving.html) capabilities.
-
-- Use [Message Disposition](message-disposition.html) functionality to create reliable messaging systems.
-
-- Messenger's [Addressing and Routing](addressing-and-routing.html) capabilities allow you to separate application code from installation-specific configuration information.
-

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2afe2ec0/docs/markdown/messenger/message-disposition.md
----------------------------------------------------------------------
diff --git a/docs/markdown/messenger/message-disposition.md b/docs/markdown/messenger/message-disposition.md
deleted file mode 100644
index bf66d2e..0000000
--- a/docs/markdown/messenger/message-disposition.md
+++ /dev/null
@@ -1,196 +0,0 @@
-Message Disposition
-===============================
-
-
-Messenger disposition operations allow a receiver to accept or
-reject specific messages, or ranges of messages.  Senders can
-then detect the disposition of their messages.
-
-
-Message States
----------------------------
-
-Messages have one of four different states:  
-        `PN_STATUS_UNKNOWN`  
-        `PN_STATUS_PENDING`  
-        `PN_STATUS_ACCEPTED`  
-        `PN_STATUS_REJECTED`  
-
-<br/>
-
-
-Windows and Trackers
-----------------------------
-
-<br/>
-
-Messenger does not track the disposition of every message that
-it sends or receives.  To set (or get) the disposition of a 
-message, that message must be within your incoming (or outgoing)
-window.
-
-( I will use the incoming direction as the example.  The outgoing
-direction works similarly. )
-
-When you call
-  
-        pn_messenger_set_incoming_window(messenger, window_size);
-
-you have only declared the window size.  The window is not yet
-created.  The window will be created when you issue your first
-call to 
-
-        pn_messenger_get(messenger, msg);
-
-And the window will be further populated only by further calls to
-pn_messenger_get().
-
-
-
-
-
-
-
-### Receiving ###
-
-To explicitly set or get message dispositions, your messenger
-must set a positive size for its incoming window:
-
-        pn_messenger_set_incoming_window(messenger, N);
-
-You can implicity accept messages by simply letting enough
-new messages arrive.  As older messages pass beyond the threshold
-of your incoming window size, they will be automatically
-accepted.  Thus, if you want to automatically accept all
-messages as they arrive, you can set your incoming window
-size to 0.
-
-To exercise *explicit* control over particular messages or ranges
-of messages, the receiver can use trackers. The call
-
-        pn_messenger_incoming_tracker(messenger);
-
-will return a tracker for the message most recently returned
-by a call to
-
-        pn_messenger_get(messenger, message);
-With a message that is being tracked, the messenger can accept
-(or reject) that individual message:
-
-        pn_messenger_accept(messenger, tracker, 0);
-        pn_messenger_reject(messenger, tracker, 0);
-
-Or it can accept (or reject) the tracked message as well as all older
-messages back to the limit of the incoming window:
-
-        pn_messenger_accept(messenger, tracker, PN_CUMULATIVE);
-        pn_messenger_reject(messenger, tracker, PN_CUMULATIVE);
-
-Once a message is accepted or rejected, its status can no longer
-be changed, even if you have a separate tracker associated with it.
-
-
-
-<br/>
-
-###When to Accept###
-
-Although you *can* accept messages implicitly by letting them fall 
-off the edge of your incoming window, you *shouldn't*.  Message
-disposition is an important form of communication to the sender.
-The best practice is to let the sender know your response, by 
-explicit acceptance or rejection, as soon as you can.  Implicitly 
-accepting messages by allowing them to fall off the edge of the 
-incoming window could delay your response to the sender for an 
-unpredictable amount of time.
-
-A nonzero window size places a limit on
-how much state your Messenger needs to track.
-
-<br/>
-
-###Accepting by Accident####
-
-If you allow a message to "fall off the edge" of your incoming 
-window before you have explicitly accepted or rejected it, then
-it will be accepted automatically.
-
-But since your incoming window is only filled by calls to 
-
-        pn_messenger_get(messenger, msg);
-
-messages cannot be forced to fall over the edge by simply 
-receiving more messages.  Messages will not be forced over the
-edge of the incoming window unless you make too many calls to
-`pn_messenger_get()` without explicitly accepting or rejecting 
-the messages.
-
-Your application should accept or reject each message as soon 
-as practical after getting and processing it.
-
-
-
-
-<br/>
-<br/>
-   
-
-
-### Sending ###
-
-A sender can learn how an individual message has been received
-if it has a positive outgoing window size:
-
-        pn_messenger_set_outgoing_window(messenger, N);
-
-and if a tracker has been associated with that message in question.  
-This call:
-
-        pn_messenger_outgoing_tracker(messenger);
-
-will return a tracker for the message most recently given to:
-
-        pn_messenger_put(messenger, message);
-
-To later find the status of the individual tracked message, you can call:
-
-        pn_messenger_status(messenger, tracker);
-
-The returned value will be one of
-
-* `PN_STATUS_ACCEPTED`
-* `PN_STATUS_REJECTED` , or
-* `PN_STATUS_PENDING` - If the receiver has not disposed the message yet.  
-
-
-If either the sender or the receiver simply declares the message (or range of messages) to
-be settled, with one of these calls:
-
-        pn_messenger_settle(messenger, tracker, 0);
-        pn_messenger_settle(messenger, tracker, PN_CUMULATIVE);
-
-then the sender will see `PN_STATUS_PENDING` as the status of any
-settled messages.
-
-<br/>
-
-
-### Message Rejection ###
-If a message is rejected by the receiver, it does not mean that
-the message was malformed.  Malformed messages cannot be sent.
-Even messages with no content are valid messages.
-Rejection by a receiver should be understood as the receiver
-saying "I don't want this." or possibly  "I don't want this *yet*." 
-depending on your application.
-The sender could decide to try sending the same message again later, 
-or to send the message to another receiver, or to discard it.
-
-The AMQP 1.0 specification permits a distinction
-between *rejecting* the message, and *releasing* the message,
-but the Proton library does not expose the *releasing* 
-disposition.
-
-
-
-
-

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2afe2ec0/docs/markdown/messenger/quick-start-linux.md
----------------------------------------------------------------------
diff --git a/docs/markdown/messenger/quick-start-linux.md b/docs/markdown/messenger/quick-start-linux.md
deleted file mode 100644
index e8ef466..0000000
--- a/docs/markdown/messenger/quick-start-linux.md
+++ /dev/null
@@ -1,73 +0,0 @@
-Linux Proton Messenger Quick Start
-==============================================
-
-
-On a Linux system, these instructions take you from
-zero to running your first example code.  You will 
-need root privileges for one of the commands.
-
-
-
-
-Prerequisite Packages
----------------------------------
-
-For a minimum build, you will need packages installed on your
-box for :
-
-        subversion
-        gcc
-        cmake
-        libuuid-devel
-
-
-
-Quick Start Commands
----------------------------
-
-    svn co http://svn.apache.org/repos/asf/qpid/proton/trunk proton
-    cd ./proton
-    mkdir ./build
-    cd ./build
-    cmake ..
-    make all
-    # Become root and go to your build dir.
-    make install
-    # Stop being root.
-    # Now let's see if it works.
-    cd ./proton-c/examples/messenger/c
-    ./recv &
-    ./send
-    # You're done ! ( Kill that recv process. )
-    # The output you should see:
-
-        Address: amqp://0.0.0.0
-        Subject: (no subject)
-        Content: "Hello World!"
-
-
-
-
-
-Notes
-----------------------------
-
-1. If you will be editing and checking in code from this tree,
-   replace the "svn co" line with this:
-
-        svn co https://svn.apache.org/repos/asf/qpid/proton/trunk
-
-   You must check out through https, or you will not be able to
-   check in code changes from your tree.
-
-
-2. The recv application in the example defaults to the same port
-   as the qpid demon.  If you happen to have that demon running,
-   and using the default port, the recv app above will fail.
-
-
-3. If you don't have root privileges, you can still do the 
-   "make install" step by setting a non-standard prefix, thus:
-        cmake -DCMAKE_INSTALL_PREFIX=/my/path ..
-
-

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2afe2ec0/docs/markdown/messenger/sending-and-receiving.md
----------------------------------------------------------------------
diff --git a/docs/markdown/messenger/sending-and-receiving.md b/docs/markdown/messenger/sending-and-receiving.md
deleted file mode 100644
index 555075e..0000000
--- a/docs/markdown/messenger/sending-and-receiving.md
+++ /dev/null
@@ -1,144 +0,0 @@
-Sending and Receiving Messages
-=======================================================
-
-The Proton Messenger API provides a mixture of synchronous
-and asynchronous operations to give you flexibility in
-deciding when you application should block waiting for I/O,
-and when it should not.
-
-
-When sending messages, you can:
-
-* send a message immediately,
-* enqueue a message to be sent later,
-* block until all enqueued messages are sent,
-* send enqueued messages until a timeout occurs, or
-* send all messages that can be sent without blocking.
-
-When receiving messages, you can:
-
-* receive messages that can be received without blocking,
-* block until at least one message is received,
-* receive no more than a fixed number of messages.
-
-
-
-Functions
-------------------------------
-
-* `pn_messenger_put(messenger)`
-
-    Stage message for later transmission, and possibly
-    transmit any messages currently staged that are not
-    blocked.
-    This function will not block.
-
-
-
-* `pn_messenger_send(messenger)`
-
-    If messenger timeout is negative (initial default),
-    block until all staged messages have been sent.
-
-    If messenger timeout is 0, send all messages that
-    can be sent without blocking.
-
-    If messenger timeout is positive, send all messages
-    that can be sent until timeout expires.
-
-    *note: If there are any messages that can be received
-    when `pn_messenger_send()` is called, they will
-    be received.*
-
-
-
-* `pn_messenger_get(messenger, msg)`
-
-    Dequeue the head of the incoming message queue to
-    your application.
-    This call does not block.
-
-
-
-* `pn_messenger_recv(messenger)`
-
-    If messenger timeout is negative(initial default),
-    block until at least one message is received.
-
-    If timeout is 0, receive whatever messages are available,
-    but do not block.
-
-    If timeout is positive, receive available messages until
-    timeout expires.
-
-    *note: If there are any unblocked outgoing messages,
-    they will be sent during this call.*
-
-
-
-
-
-Examples
-------------------------------
-
-* send a message immediately
-
-        pn_messenger_put(messenger, msg);
-        pn_messenger_send(messenger);
-
-
-
-* enqueue a message to be sent later
-
-        pn_messenger_put(messenger, msg);
-
-    *note:
-    The message will be sent whenever it is not blocked and
-    the Messenger code has other I/O work to be done.*
-
-
-
-* block until all enqueued messages are sent
-
-        pn_messenger_set_timeout(messenger, -1);
-        pn_messenger_send(messenger);
-
-    *note:
-    A negative timeout means 'forever'.  That is the initial
-    default for a messenger.*
-
-
-
-* send enqueued messages until a timeout occurs
-
-        pn_messenger_set_timeout(messenger, 100); /* 100 msec */
-        pn_messenger_send(messenger);
-
-
-
-* send all messages that can be sent without blocking
-
-        pn_messenger_set_timeout(messenger, 0);
-        pn_messenger_send(messenger);
-
-
-
-* receive messages that can be received without blocking
-
-        pn_messenger_set_timeout(messenger, 0);
-        pn_messenger_recv(messenger, -1);
-
-
-* block until at least one message is received
-
-        pn_messenger_set_timeout(messenger, -1);
-        pn_messenger_recv(messenger, -1);
-
-    *note: -1 is initial messenger default.*
-
-
-
-* receive no more than a fixed number of messages
-
-        pn_messenger_recv(messenger, 10);
-

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2afe2ec0/examples/java/messenger/README.txt
----------------------------------------------------------------------
diff --git a/examples/java/messenger/README.txt b/examples/java/messenger/README.txt
deleted file mode 100644
index 20d3788..0000000
--- a/examples/java/messenger/README.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-This directory contains java examples that use the messenger API.
-Based on the python examples in  ../py
-
-  Send.java - a simple example of using the messenger API to send messages
-  Recv.java - a simple example of using the messenger API to receive messages
-
-Note that depending on the address passed into these scripts, you can
-use them in either a peer to peer or a brokered scenario.
-
-For brokered usage:
-  java Recv.class amqp://<broker>/<queue>
-  java Send.class -a amqp://<broker>/<queue> msg_1 ... msg_n
-
-For peer to peer usage:
-  # execute on <host> to receive messages from all local network interfaces
-  java Recv.class amqp://~0.0.0.0
-  java Send.class -a amqp://<host> msg_1 ... msg_n
-
-Or, use the shell scripts "recv" and "send" to run the java programs:
-recv [-v] [-n MAXMESSAGES] [-a ADDRESS] ... [-a ADDRESS]
-send [-a ADDRESS] [-s SUBJECT] MESSAGE ... MESSAGE
-

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2afe2ec0/examples/java/messenger/pom.xml
----------------------------------------------------------------------
diff --git a/examples/java/messenger/pom.xml b/examples/java/messenger/pom.xml
deleted file mode 100644
index a23a4a3..0000000
--- a/examples/java/messenger/pom.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You 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
-  
-  http://www.apache.org/licenses/LICENSE-2.0
-  
-  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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <parent>
-    <groupId>org.apache.qpid</groupId>
-    <artifactId>proton-project</artifactId>
-    <version>0.17.0-SNAPSHOT</version>
-    <relativePath>../../..</relativePath>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-
-  <artifactId>proton-j-messenger-example</artifactId>
-  <name>proton-j-messenger-example</name>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.qpid</groupId>
-      <artifactId>proton-j</artifactId>
-      <version>${project.parent.version}</version>
-    </dependency>
-  </dependencies>
-
-  <scm>
-    <url>http://svn.apache.org/viewvc/qpid/proton/</url>
-  </scm>
-</project>

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2afe2ec0/examples/java/messenger/recv
----------------------------------------------------------------------
diff --git a/examples/java/messenger/recv b/examples/java/messenger/recv
deleted file mode 100755
index 862700c..0000000
--- a/examples/java/messenger/recv
+++ /dev/null
@@ -1,31 +0,0 @@
-#! /bin/bash
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you 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
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# 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.
-#
-
-# Usage: recv [-v] [-n MAXMESSAGES] [-a ADDRESS]*"
-# Subscribes to the given amqp addresses (by default, to amqp://localhost/test),
-# and prints messages received, upt to MAXMESSAGES. 
-# Prints message headers and body; -v means print all message properties.
-
-HERE=$(cd $(dirname $0); pwd)
-TOP=$(cd $(dirname $0); cd  ../../..; pwd)
-LIBS=$HERE/target/classes:$TOP/proton-j/target/classes
-JFLAGS="-Djava.util.logging.config.file=$HERE/recv.trace.props -cp $LIBS"
-java -cp $LIBS org.apache.qpid.proton.example.Recv "$@"
-

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2afe2ec0/examples/java/messenger/send
----------------------------------------------------------------------
diff --git a/examples/java/messenger/send b/examples/java/messenger/send
deleted file mode 100755
index e7b4b67..0000000
--- a/examples/java/messenger/send
+++ /dev/null
@@ -1,29 +0,0 @@
-#! /bin/bash
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you 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
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# 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.
-#
-
-# Usage: send [-a ADDRESS] [-s SUBJECT] MESSAGE ... MESSAGE
-# sends each arg as a text-message to the given adress (by default, to amqp://localhost/test)
-
-HERE=$(cd $(dirname $0); pwd)
-TOP=$(cd $(dirname $0); cd  ../../..; pwd)
-LIBS=$HERE/target/classes:$TOP/proton-j/target/classes
-JFLAGS="-Djava.util.logging.config.file=$HERE/send.trace.props -cp $LIBS"
-java -cp $LIBS org.apache.qpid.proton.example.Send "$@"
-

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2afe2ec0/examples/java/messenger/src/main/java/org/apache/qpid/proton/example/Recv.java
----------------------------------------------------------------------
diff --git a/examples/java/messenger/src/main/java/org/apache/qpid/proton/example/Recv.java b/examples/java/messenger/src/main/java/org/apache/qpid/proton/example/Recv.java
deleted file mode 100644
index 3934cff..0000000
--- a/examples/java/messenger/src/main/java/org/apache/qpid/proton/example/Recv.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-package org.apache.qpid.proton.example;
-
-import org.apache.qpid.proton.message.Message;
-import org.apache.qpid.proton.messenger.Messenger;
-import org.apache.qpid.proton.messenger.impl.MessengerImpl;
-import org.apache.qpid.proton.amqp.messaging.ApplicationProperties;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * Example/test of the java Messenger/Message API.
- * Based closely qpid src/proton/examples/messenger/py/recv.py
- * @author mberkowitz@sf.org
- * @since 8/4/2013
- * @deprecated Messenger will be removed from upcoming proton-j releases.
- */
-@Deprecated
-public class Recv {
-    private static Logger tracer = Logger.getLogger("proton.example");
-    private boolean verbose = false;
-    private int maxct = 0;
-    private List<String> addrs = new ArrayList<String>();
-
-    private static void usage() {
-        System.err.println("Usage: recv [-v] [-n MAXCT] [-a ADDRESS]*");
-        System.exit(2);
-    }
-
-    private Recv(String args[]) {
-        int i = 0;
-        while (i < args.length) {
-            String arg = args[i++];
-            if (arg.startsWith("-")) {
-                if ("-v".equals(arg)) {
-                    verbose = true;
-                } else if ("-a".equals(arg)) {
-                    addrs.add(args[i++]);
-                } else if ("-n".equals(arg)) {
-                    maxct = Integer.valueOf(args[i++]);
-                } else {
-                    System.err.println("unknown option " + arg);
-                    usage();
-                }
-            } else {
-                usage();
-            }
-        }
-        if (addrs.size() == 0) {
-            addrs.add("amqp://~0.0.0.0");
-        }
-    }
-
-    private static String safe(Object o) {
-        return String.valueOf(o);
-    }
-
-    private void print(int i, Message msg) {
-        StringBuilder b = new StringBuilder("message: ");
-        b.append(i).append("\n");
-        b.append("Address: ").append(msg.getAddress()).append("\n");
-        b.append("Subject: ").append(msg.getSubject()).append("\n");
-        if (verbose) {
-            b.append("Props:     ").append(msg.getProperties()).append("\n");
-            b.append("App Props: ").append(msg.getApplicationProperties()).append("\n");
-            b.append("Msg Anno:  ").append(msg.getMessageAnnotations()).append("\n");
-            b.append("Del Anno:  ").append(msg.getDeliveryAnnotations()).append("\n");
-        } else {
-            ApplicationProperties p = msg.getApplicationProperties();
-            String s = (p == null) ? "null" : safe(p.getValue());
-            b.append("Headers: ").append(s).append("\n");
-        }
-        b.append(msg.getBody()).append("\n");
-        b.append("END").append("\n");
-        System.out.println(b.toString());
-    }
-
-    private void run() {
-        try {
-            Messenger mng = new MessengerImpl();
-            mng.start();
-            for (String a : addrs) {
-                mng.subscribe(a);
-            }
-            int ct = 0;
-            boolean done = false;
-            while (!done) {
-                mng.recv();
-                while (mng.incoming() > 0) {
-                    Message msg = mng.get();
-                    ++ct;
-                    print(ct, msg);
-                    if (maxct > 0 && ct >= maxct) {
-                        done = true;
-                        break;
-                    }
-                }
-            }
-            mng.stop();
-        } catch (Exception e) {
-            tracer.log(Level.SEVERE, "proton error", e);
-        }
-    }
-
-    public static void main(String args[]) {
-        Recv o = new Recv(args);
-        o.run();
-    }
-}
-

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2afe2ec0/examples/java/messenger/src/main/java/org/apache/qpid/proton/example/Send.java
----------------------------------------------------------------------
diff --git a/examples/java/messenger/src/main/java/org/apache/qpid/proton/example/Send.java b/examples/java/messenger/src/main/java/org/apache/qpid/proton/example/Send.java
deleted file mode 100644
index 6f4a919..0000000
--- a/examples/java/messenger/src/main/java/org/apache/qpid/proton/example/Send.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-package org.apache.qpid.proton.example;
-
-import org.apache.qpid.proton.amqp.messaging.AmqpValue;
-import org.apache.qpid.proton.message.Message;
-import org.apache.qpid.proton.message.impl.MessageImpl;
-import org.apache.qpid.proton.messenger.Messenger;
-import org.apache.qpid.proton.messenger.impl.MessengerImpl;
-
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * Example/test of the java Messenger/Message API.
- * Based closely qpid src/proton/examples/messenger/py/send.py
- * @author mberkowitz@sf.org
- * @since 8/4/2013
- * @deprecated Messenger will be removed from upcoming proton-j releases.
- */
-@Deprecated
-public class Send {
-
-    private static Logger tracer = Logger.getLogger("proton.example");
-    private String address = "amqp://0.0.0.0";
-    private String subject;
-    private String[] bodies = new String[]{"Hello World!"};
-
-    private static void usage() {
-        System.err.println("Usage: send [-a ADDRESS] [-s SUBJECT] MSG+");
-        System.exit(2);
-    }
-
-    private Send(String args[]) {
-        int i = 0;
-        while (i < args.length) {
-            String arg = args[i++];
-            if (arg.startsWith("-")) {
-                if ("-a".equals(arg)) {
-                    address = args[i++];
-                } else if ("-s".equals(arg)) {
-                    subject = args[i++];
-                } else {
-                    System.err.println("unknown option " + arg);
-                    usage();
-                }
-            } else {
-                --i;
-                break;
-            }
-        }
-
-        if(i != args.length)
-        {
-            bodies = Arrays.copyOfRange(args, i, args.length);
-        }
-    }
-
-    private void run() {
-        try {
-            Messenger mng = new MessengerImpl();
-            mng.start();
-            Message msg = new MessageImpl();
-            msg.setAddress(address);
-            if (subject != null) msg.setSubject(subject);
-            for (String body : bodies) {
-                msg.setBody(new AmqpValue(body));
-                mng.put(msg);
-            }
-            mng.send();
-            mng.stop();
-        } catch (Exception e) {
-            tracer.log(Level.SEVERE, "proton error", e);
-        }
-    }
-
-    public static void main(String args[]) {
-        Send o = new Send(args);
-        o.run();
-    }
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2afe2ec0/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 7391713..7f2b443 100644
--- a/pom.xml
+++ b/pom.xml
@@ -137,7 +137,6 @@
     <module>proton-j</module>
     <module>tests</module>
     <module>examples/engine/java</module>
-    <module>examples/java/messenger</module>
     <module>examples/java/reactor</module>
   </modules>
 

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2afe2ec0/proton-j/src/main/java/org/apache/qpid/proton/Proton.java
----------------------------------------------------------------------
diff --git a/proton-j/src/main/java/org/apache/qpid/proton/Proton.java b/proton-j/src/main/java/org/apache/qpid/proton/Proton.java
index 38f39e0..b428736 100644
--- a/proton-j/src/main/java/org/apache/qpid/proton/Proton.java
+++ b/proton-j/src/main/java/org/apache/qpid/proton/Proton.java
@@ -31,7 +31,6 @@ import org.apache.qpid.proton.amqp.messaging.Properties;
 import org.apache.qpid.proton.amqp.messaging.Section;
 import org.apache.qpid.proton.codec.Codec;
 import org.apache.qpid.proton.codec.Data;
-import org.apache.qpid.proton.driver.Driver;
 import org.apache.qpid.proton.engine.Collector;
 import org.apache.qpid.proton.engine.Connection;
 import org.apache.qpid.proton.engine.Engine;
@@ -40,10 +39,8 @@ import org.apache.qpid.proton.engine.SslDomain;
 import org.apache.qpid.proton.engine.SslPeerDetails;
 import org.apache.qpid.proton.engine.Transport;
 import org.apache.qpid.proton.message.Message;
-import org.apache.qpid.proton.messenger.Messenger;
 import org.apache.qpid.proton.reactor.Reactor;
 
-@SuppressWarnings("deprecation")
 public final class Proton
 {
 
@@ -96,33 +93,6 @@ public final class Proton
                                       applicationProperties, body, footer);
     }
 
-    /**
-     * @deprecated Messenger will be removed from upcoming proton-j releases.
-     */
-    @Deprecated
-    public static Messenger messenger()
-    {
-        return Messenger.Factory.create();
-    }
-
-    /**
-     * @deprecated  Messenger will be removed from upcoming proton-j releases.
-     */
-    @Deprecated
-    public static Messenger messenger(String name)
-    {
-        return Messenger.Factory.create(name);
-    }
-
-    /**
-     * @deprecated Messenger and its driver will be removed from upcoming proton-j releases.
-     */
-    @Deprecated
-    public static Driver driver() throws IOException
-    {
-        return Driver.Factory.create();
-    }
-
     public static Reactor reactor() throws IOException
     {
         return Reactor.Factory.create();

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2afe2ec0/proton-j/src/main/java/org/apache/qpid/proton/driver/Connector.java
----------------------------------------------------------------------
diff --git a/proton-j/src/main/java/org/apache/qpid/proton/driver/Connector.java b/proton-j/src/main/java/org/apache/qpid/proton/driver/Connector.java
deleted file mode 100644
index 619b1cf..0000000
--- a/proton-j/src/main/java/org/apache/qpid/proton/driver/Connector.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-package org.apache.qpid.proton.driver;
-
-import java.io.IOException;
-
-import org.apache.qpid.proton.engine.Connection;
-import org.apache.qpid.proton.engine.Sasl;
-import org.apache.qpid.proton.engine.Transport;
-
-/**
- * Intermediates between a proton engine {@link Connection} and the I/O
- * layer.
- *
- * The top half of the engine can be access via {@link #getConnection()}.
- * The bottom half of the engine is used by {@link #process()}.
- * Stores application specific context using {@link #setContext(Object)}.
- *
- * Implementations are not necessarily thread-safe.
- *
- * @param <C> application supplied context
- * @deprecated Messenger and its connector will be removed from upcoming proton-j releases.
- */
-@Deprecated
-public interface Connector<C>
-{
-    /**
-     * Handle any inbound data, outbound data, or timing events pending on
-     * the connector.
-     * Typically, applications repeatedly invoke this method
-     * during the lifetime of a connection.
-     */
-    boolean process() throws IOException;
-
-    /**
-     * Access the listener which opened this connector.
-     *
-     * @return the listener which created this connector, or null if the
-     *         connector has no listener (e.g. an outbound client
-     *         connection).
-     */
-    @SuppressWarnings("rawtypes")
-    Listener listener();
-
-    /**
-     * Access the Authentication and Security context of the connector.
-     *
-     * @return the Authentication and Security context for the connector,
-     *         or null if none.
-     */
-    Sasl sasl();
-
-    /**
-     * Access the Transport associated with the connector.
-     *
-     */
-
-    Transport getTransport();
-
-    /**
-     * Access the AMQP Connection associated with the connector.
-     *
-     * @return the connection context for the connector, or null if none.
-     */
-    Connection getConnection();
-
-    /**
-     * Assign the AMQP Connection associated with the connector.
-     *
-     * @param connection the connection to associate with the connector.
-     */
-    void setConnection(Connection connection);
-
-    /**
-     * Access the application context that is associated with the connector.
-     *
-     * @return the application context that was passed when creating this
-     *         connector. See
-     *         {@link Driver#createConnector(String, int, Object)
-     *         createConnector(String, int, Object)} and
-     *         {@link Driver#createConnector(java.nio.channels.SelectableChannel, Object)
-     *         createConnector(java.nio.channels.SelectableChannel, Object)}.
-     */
-    C getContext();
-
-    /**
-     * Assign a new application context to the connector.
-     *
-     * @param context new application context to associate with the connector
-     */
-    void setContext(C context);
-
-    /**
-     * Close the socket used by the connector.
-     */
-    void close();
-
-    /**
-     * Determine if the connector is closed.
-     */
-    boolean isClosed();
-
-    /**
-     * Destructor for the given connector.
-     *
-     * Assumes the connector's socket has been closed prior to call.
-     */
-    void destroy();
-}

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2afe2ec0/proton-j/src/main/java/org/apache/qpid/proton/driver/Driver.java
----------------------------------------------------------------------
diff --git a/proton-j/src/main/java/org/apache/qpid/proton/driver/Driver.java b/proton-j/src/main/java/org/apache/qpid/proton/driver/Driver.java
deleted file mode 100644
index 3d8ada3..0000000
--- a/proton-j/src/main/java/org/apache/qpid/proton/driver/Driver.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
-package org.apache.qpid.proton.driver;
-
-import java.io.IOException;
-import java.nio.channels.SelectableChannel;
-import java.nio.channels.ServerSocketChannel;
-
-import org.apache.qpid.proton.driver.impl.DriverImpl;
-
-/**
- * A driver for the proton engine.
- *
- * Manages {@link Connector}'s and {@link Listener}'s, which act as intermediaries between
- * the proton engine and the network.
- *
- * Provides methods for the application to access the "top half" of the engine API when the state
- * of the engine may have changed due to I/O or timing events - see {@link #connector()}.
- *
- * Connectors incorporate the SASL engine in order to provide a complete network stack:
- * AMQP over SASL over TCP.
- *
- * Unless otherwise stated, methods on Driver implementations are not necessarily thread-safe.
- *
- * @deprecated Messenger and its driver will be removed from upcoming proton-j releases.
- */
-@Deprecated
-public interface Driver
-{
-    /**
-     * @deprecated Messenger and its driver will be removed from upcoming proton-j releases.
-     */
-    @Deprecated
-    public static final class Factory
-    {
-        public static Driver create() throws IOException {
-            return new DriverImpl();
-        }
-    }
-
-    /**
-     * Force {@link #doWait(long)} to return.
-     *
-     * If the driver is not currently waiting then the next invocation of {@link #doWait(long)}
-     * will return immediately unless the {@link #connector()} method is invoked in the meantime.
-     *
-     * Thread-safe.
-     */
-    void wakeup();
-
-    /**
-     * Wait for an active connector or listener, or for {@link #wakeup()} to be called.
-     *
-     * Thread-safe.
-     *
-     * @param timeout maximum time in milliseconds to wait. -1 means wait indefinitely.
-     *
-     * @return true if woken up
-     */
-    boolean doWait(long timeout);
-
-    /**
-     * Get the next listener with pending data in the driver.
-     *
-     * @return null if no active listener available
-     */
-    @SuppressWarnings("rawtypes")
-    Listener listener();
-
-    /**
-     * Get the next active connector in the driver.
-     *
-     * Returns the next connector with pending inbound data, available capacity
-     * for outbound data, or pending tick.
-     *
-     * Clears the wake-up status that is set by {@link #wakeup()}.
-     *
-     * @return null if no active connector available
-     */
-    @SuppressWarnings("rawtypes")
-    Connector connector();
-
-    /**
-     * Destruct the driver and all associated listeners, connectors and other resources.
-     */
-    void destroy();
-
-    /**
-     * Construct a listener for the given address.
-     *
-     * @param host local host address to listen on
-     * @param port local port to listen on
-     * @param context application-supplied, can be accessed via
-     *                {@link Listener#getContext() getContext()} method on a listener.
-     * @return a new listener on the given host:port, null if error
-     */
-    <C> Listener<C> createListener(String host, int port, C context);
-
-    /**
-     * Create a listener using the existing channel.
-     *
-     * @param c   existing SocketChannel for listener to listen on
-     * @param context application-supplied, can be accessed via
-     *                {@link Listener#getContext() getContext()} method on a listener.
-     * @return a new listener on the given channel, null if error
-     */
-    <C> Listener<C> createListener(ServerSocketChannel c, C context);
-
-    /**
-     * Construct a connector to the given remote address.
-     *
-     * @param host remote host to connect to.
-     * @param port remote port to connect to.
-     * @param context application-supplied, can be accessed via
-     *                {@link Connector#getContext() getContext()} method on a listener.
-     *
-     * @return a new connector to the given remote, or null on error.
-     */
-    <C> Connector<C> createConnector(String host, int port, C context);
-
-    /**
-     * Create a connector using the existing file descriptor.
-     *
-     * @param fd   existing SocketChannel for listener to listen on
-     * @param context application-supplied, can be accessed via
-     *                {@link Connector#getContext() getContext()} method on a listener.
-     *
-     * @return a new connector to the given host:port, null if error.
-     */
-    <C> Connector<C> createConnector(SelectableChannel fd, C context);
-
-    /**
-     * Return an iterator over all listeners.
-     */
-    Iterable<Listener> listeners();
-    /**
-     * Return an iterator over all connectors.
-     */
-    Iterable<Connector> connectors();
-
-}

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2afe2ec0/proton-j/src/main/java/org/apache/qpid/proton/driver/Listener.java
----------------------------------------------------------------------
diff --git a/proton-j/src/main/java/org/apache/qpid/proton/driver/Listener.java b/proton-j/src/main/java/org/apache/qpid/proton/driver/Listener.java
deleted file mode 100644
index 7541d4d..0000000
--- a/proton-j/src/main/java/org/apache/qpid/proton/driver/Listener.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-package org.apache.qpid.proton.driver;
-
-/**
- * Server API.
- *
- * @param <C> application supplied context
- * @deprecated Messenger and its listener will be removed from upcoming proton-j releases.
- */
-@Deprecated
-public interface Listener<C>
-{
-    /**
-     * Accept a connection that is pending on the listener.
-     *
-     * @return a new connector for the remote, or NULL on error.
-     */
-    Connector<C> accept();
-
-    /**
-     * Access the application context that is associated with the listener.
-     *
-     * @return the application context that was passed when creating this
-     *         listener. See {@link Driver#createListener(String, int, Object)
-     *         createListener(String, int, Object)} and
-     *         {@link Driver#createConnector(java.nio.channels.SelectableChannel, Object)
-     *         createConnector(java.nio.channels.SelectableChannel, Object)}
-     */
-    C getContext();
-
-    /**
-     * Set the application context that is associated with this listener.
-     *
-     */
-    void setContext(C ctx);
-
-    /**
-     * Close the socket used by the listener.
-     *
-     */
-    void close() throws java.io.IOException;
-}

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2afe2ec0/proton-j/src/main/java/org/apache/qpid/proton/driver/impl/ConnectorImpl.java
----------------------------------------------------------------------
diff --git a/proton-j/src/main/java/org/apache/qpid/proton/driver/impl/ConnectorImpl.java b/proton-j/src/main/java/org/apache/qpid/proton/driver/impl/ConnectorImpl.java
deleted file mode 100644
index 18cad9a..0000000
--- a/proton-j/src/main/java/org/apache/qpid/proton/driver/impl/ConnectorImpl.java
+++ /dev/null
@@ -1,280 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- */
-package org.apache.qpid.proton.driver.impl;
-
-import static org.apache.qpid.proton.driver.impl.ConnectorImpl.ConnectorState.UNINITIALIZED;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.channels.SelectionKey;
-import java.nio.channels.SocketChannel;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import org.apache.qpid.proton.Proton;
-import org.apache.qpid.proton.driver.Connector;
-import org.apache.qpid.proton.driver.Listener;
-import org.apache.qpid.proton.engine.Connection;
-import org.apache.qpid.proton.engine.Sasl;
-import org.apache.qpid.proton.engine.Transport;
-import org.apache.qpid.proton.engine.TransportException;
-
-@SuppressWarnings("deprecation")
-class ConnectorImpl<C> implements Connector<C>
-{
-    private static int DEFAULT_BUFFER_SIZE = 64 * 1024;
-    private static int readBufferSize = Integer.getInteger
-        ("pn.receive_buffer_size", DEFAULT_BUFFER_SIZE);
-    private static int writeBufferSize = Integer.getInteger
-        ("pn.send_buffer_size", DEFAULT_BUFFER_SIZE);
-
-    enum ConnectorState {UNINITIALIZED, OPENED, EOS, CLOSED};
-
-    private final DriverImpl _driver;
-    private final Listener<C> _listener;
-    private final SocketChannel _channel;
-    private final Logger _logger = Logger.getLogger("proton.driver");
-    private C _context;
-
-    private Connection _connection;
-    private Transport _transport = Proton.transport();
-    private SelectionKey _key;
-    private ConnectorState _state = UNINITIALIZED;
-
-    private boolean _inputDone = false;
-    private boolean _outputDone = false;
-    private boolean _closed = false;
-
-    private boolean _selected = false;
-    private boolean _readAllowed = false;
-
-    ConnectorImpl(DriverImpl driver, Listener<C> listener, SocketChannel c, C context, SelectionKey key)
-    {
-        _driver = driver;
-        _listener = listener;
-        _channel = c;
-        _context = context;
-        _key = key;
-    }
-
-    void selected()
-    {
-        if (!_selected) {
-            _selected = true;
-            _driver.selectConnector(this);
-            _readAllowed = true;
-        }
-    }
-
-    void unselected()
-    {
-        _selected = false;
-    }
-
-    public boolean process() throws IOException
-    {
-        if (isClosed() || !_channel.finishConnect()) return false;
-
-        boolean processed = false;
-        if (!_inputDone)
-        {
-            if (read()) {
-                processed = true;
-            }
-        }
-
-        if (!_outputDone)
-        {
-            if (write()) {
-                processed = true;
-            }
-        }
-
-        if (_outputDone && _inputDone)
-        {
-            close();
-        }
-
-        return processed;
-    }
-
-    private boolean read() throws IOException
-    {
-        if (!_readAllowed) return false;
-        _readAllowed = false;
-        boolean processed = false;
-
-        int interest = _key.interestOps();
-        int capacity = _transport.capacity();
-        if (capacity == Transport.END_OF_STREAM)
-        {
-            _inputDone = true;
-        }
-        else
-        {
-            ByteBuffer tail = _transport.tail();
-            int bytesRead = _channel.read(tail);
-            if (bytesRead < 0) {
-                _transport.close_tail();
-                _inputDone = true;
-            } else if (bytesRead > 0) {
-                try {
-                    _transport.process();
-                } catch (TransportException e) {
-                    _logger.log(Level.SEVERE, this + " error processing input", e);
-                }
-                processed = true;
-            }
-        }
-
-        capacity = _transport.capacity();
-        if (capacity > 0) {
-            interest |= SelectionKey.OP_READ;
-        } else {
-            interest &= ~SelectionKey.OP_READ;
-            if (capacity < 0) {
-                _inputDone = true;
-            }
-        }
-        _key.interestOps(interest);
-
-        return processed;
-    }
-
-    private boolean write() throws IOException
-    {
-        boolean processed = false;
-
-        int interest = _key.interestOps();
-        boolean writeBlocked = false;
-
-        try {
-            while (_transport.pending() > 0 && !writeBlocked)
-            {
-                ByteBuffer head = _transport.head();
-                int wrote = _channel.write(head);
-                if (wrote > 0) {
-                    processed = true;
-                    _transport.pop(wrote);
-                } else {
-                    writeBlocked = true;
-                }
-            }
-
-            int pending = _transport.pending();
-            if (pending > 0) {
-                interest |= SelectionKey.OP_WRITE;
-            } else {
-                interest &= ~SelectionKey.OP_WRITE;
-                if (pending < 0) {
-                    _outputDone = true;
-                }
-            }
-        } catch (TransportException e) {
-            _logger.log(Level.SEVERE, this + " error", e);
-            interest &= ~SelectionKey.OP_WRITE;
-            _inputDone = true;
-            _outputDone = true;
-        }
-
-        _key.interestOps(interest);
-
-        return processed;
-    }
-
-    public Listener<C> listener()
-    {
-        return _listener;
-    }
-
-    public Sasl sasl()
-    {
-        if (_transport != null)
-        {
-            return _transport.sasl();
-        }
-        else
-        {
-            return null;
-        }
-    }
-
-    public Connection getConnection()
-    {
-        return _connection;
-    }
-
-    public void setConnection(Connection connection)
-    {
-        _connection = connection;
-        _transport.bind(_connection);
-    }
-
-    public Transport getTransport()
-    {
-        return _transport;
-    }
-
-    public C getContext()
-    {
-        return _context;
-    }
-
-    public void setContext(C context)
-    {
-        _context = context;
-    }
-
-    public void close()
-    {
-        if (!isClosed())
-        {
-            try
-            {
-                _channel.close();
-            }
-            catch (IOException e)
-            {
-                _logger.log(Level.SEVERE, "Exception when closing connection",e);
-            }
-            finally
-            {
-                _closed = true;
-                selected();
-            }
-        }
-    }
-
-    public boolean isClosed()
-    {
-        return _closed;
-    }
-
-    public void destroy()
-    {
-        close(); // close if not closed already
-        _driver.removeConnector(this);
-    }
-
-    @Override
-    public String toString()
-    {
-        StringBuilder builder = new StringBuilder();
-        builder.append("ConnectorImpl [_channel=").append(_channel).append("]");
-        return builder.toString();
-    }
-}

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2afe2ec0/proton-j/src/main/java/org/apache/qpid/proton/driver/impl/DriverImpl.java
----------------------------------------------------------------------
diff --git a/proton-j/src/main/java/org/apache/qpid/proton/driver/impl/DriverImpl.java b/proton-j/src/main/java/org/apache/qpid/proton/driver/impl/DriverImpl.java
deleted file mode 100644
index 6264d7a..0000000
--- a/proton-j/src/main/java/org/apache/qpid/proton/driver/impl/DriverImpl.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-package org.apache.qpid.proton.driver.impl;
-
-import java.io.IOException;
-import java.net.InetSocketAddress;
-import java.net.ServerSocket;
-import java.nio.channels.ClosedChannelException;
-import java.nio.channels.SelectableChannel;
-import java.nio.channels.SelectionKey;
-import java.nio.channels.Selector;
-import java.nio.channels.ServerSocketChannel;
-import java.nio.channels.SocketChannel;
-import java.util.ArrayDeque;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.Queue;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import org.apache.qpid.proton.driver.Connector;
-import org.apache.qpid.proton.driver.Driver;
-import org.apache.qpid.proton.driver.Listener;
-
-@SuppressWarnings("deprecation")
-public class DriverImpl implements Driver
-{
-    private Selector _selector;
-    private Collection<Listener> _listeners = new LinkedList();
-    private Collection<Connector> _connectors = new LinkedList();
-    private Logger _logger = Logger.getLogger("proton.driver");
-    private Object _wakeupLock = new Object();
-    private boolean _woken = false;
-    private Queue<ConnectorImpl> _selectedConnectors = new ArrayDeque<ConnectorImpl>();
-    private Queue<ListenerImpl> _selectedListeners = new ArrayDeque<ListenerImpl>();
-
-    public DriverImpl() throws IOException
-    {
-        _selector = Selector.open();
-    }
-
-    public void wakeup()
-    {
-        synchronized (_wakeupLock) {
-            _woken = true;
-        }
-        _selector.wakeup();
-    }
-
-    public boolean doWait(long timeout)
-    {
-        try
-        {
-            boolean woken;
-            synchronized (_wakeupLock) {
-                woken = _woken;
-            }
-
-            if (woken || timeout == 0) {
-                _selector.selectNow();
-            } else if (timeout < 0) {
-                _selector.select();
-            } else {
-                _selector.select(timeout);
-            }
-
-            synchronized (_wakeupLock) {
-                woken = woken || _woken;
-                _woken = false;
-            }
-
-            for (SelectionKey key : _selector.selectedKeys()) {
-                if (key.isAcceptable()) {
-                    ListenerImpl l = (ListenerImpl) key.attachment();
-                    l.selected();
-                } else {
-                    ConnectorImpl c = (ConnectorImpl) key.attachment();
-                    c.selected();
-                }
-            }
-
-            _selector.selectedKeys().clear();
-
-            return woken;
-        }
-        catch (IOException e)
-        {
-            _logger.log(Level.SEVERE, "Exception when waiting for IO Event",e);
-            throw new RuntimeException(e);
-        }
-    }
-
-    void selectListener(ListenerImpl l)
-    {
-        _selectedListeners.add(l);
-    }
-
-    public Listener listener()
-    {
-        ListenerImpl listener = _selectedListeners.poll();
-        if (listener != null) {
-            listener.unselected();
-        }
-
-        return listener;
-    }
-
-    void selectConnector(ConnectorImpl c)
-    {
-        _selectedConnectors.add(c);
-    }
-
-    public Connector connector()
-    {
-        ConnectorImpl connector = _selectedConnectors.poll();
-        if (connector != null) {
-            connector.unselected();
-        }
-        return connector;
-    }
-
-    public void destroy()
-    {
-        try
-        {
-            _selector.close();
-        }
-        catch (IOException e)
-        {
-            _logger.log(Level.SEVERE, "Exception when closing selector",e);
-            throw new RuntimeException(e);
-        }
-        _listeners.clear();
-        _connectors.clear();
-    }
-
-    public <C> Listener<C> createListener(String host, int port, C context)
-    {
-        try
-        {
-            ServerSocketChannel serverSocketChannel = ServerSocketChannel.open();
-            ServerSocket serverSocket = serverSocketChannel.socket();
-            serverSocket.bind(new InetSocketAddress(host, port));
-            serverSocketChannel.configureBlocking(false);
-            Listener<C> listener = createListener(serverSocketChannel, context);
-            _logger.fine("Created listener on " + host + ":" + port + ": " + context);
-
-            return listener;
-        }
-        catch (ClosedChannelException e)
-        {
-            e.printStackTrace();  // TODO - Implement
-        }
-        catch (IOException e)
-        {
-            e.printStackTrace();  // TODO - Implement
-        }
-        return null;
-    }
-
-    public <C> Listener<C> createListener(ServerSocketChannel c, C context)
-    {
-        Listener<C> l = new ListenerImpl<C>(this, c, context);
-        SelectionKey key = registerInterest(c,SelectionKey.OP_ACCEPT);
-        key.attach(l);
-        _listeners.add(l);
-        return l;
-    }
-
-    public <C> Connector<C> createConnector(String host, int port, C context)
-    {
-        try
-        {
-            SocketChannel channel = SocketChannel.open();
-            channel.configureBlocking(false);
-            // Disable the Nagle algorithm on TCP connections.
-            channel.socket().setTcpNoDelay(true);
-            channel.connect(new InetSocketAddress(host, port));
-            return createConnector(channel, context);
-        }
-        catch (IOException e)
-        {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
-            throw new RuntimeException(e);
-        }
-    }
-
-    public <C> Connector<C> createConnector(SelectableChannel c, C context)
-    {
-        SelectionKey key = registerInterest(c, SelectionKey.OP_READ | SelectionKey.OP_WRITE);
-        Connector<C> co = new ConnectorImpl<C>(this, null, (SocketChannel)c, context, key);
-        key.attach(co);
-        _connectors.add(co);
-        return co;
-    }
-
-    public <C> void removeConnector(Connector<C> c)
-    {
-        _connectors.remove(c);
-    }
-
-    public Iterable<Listener> listeners()
-    {
-        return _listeners;
-    }
-
-    public Iterable<Connector> connectors()
-    {
-        return _connectors;
-    }
-
-    protected <C> Connector<C> createServerConnector(SelectableChannel c, C context, Listener<C> l)
-    {
-        SelectionKey key = registerInterest(c, SelectionKey.OP_READ | SelectionKey.OP_WRITE);
-        Connector<C> co = new ConnectorImpl<C>(this, l, (SocketChannel)c, context, key);
-        key.attach(co);
-        _connectors.add(co);
-        return co;
-    }
-
-    private <C> SelectionKey registerInterest(SelectableChannel c, int opKeys)
-    {
-        try
-        {
-            return c.register(_selector, opKeys);
-        }
-        catch (ClosedChannelException e)
-        {
-            e.printStackTrace();  // TODO - Implement
-            throw new RuntimeException(e);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2afe2ec0/proton-j/src/main/java/org/apache/qpid/proton/driver/impl/ListenerImpl.java
----------------------------------------------------------------------
diff --git a/proton-j/src/main/java/org/apache/qpid/proton/driver/impl/ListenerImpl.java b/proton-j/src/main/java/org/apache/qpid/proton/driver/impl/ListenerImpl.java
deleted file mode 100644
index a7dd936..0000000
--- a/proton-j/src/main/java/org/apache/qpid/proton/driver/impl/ListenerImpl.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-package org.apache.qpid.proton.driver.impl;
-
-import java.io.IOException;
-import java.nio.channels.ServerSocketChannel;
-import java.nio.channels.SocketChannel;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import org.apache.qpid.proton.driver.Connector;
-import org.apache.qpid.proton.driver.Listener;
-
-@SuppressWarnings("deprecation")
-class ListenerImpl<C> implements Listener<C>
-{
-    private C _context;
-    private final ServerSocketChannel _channel;
-    private final DriverImpl _driver;
-    private final Logger _logger = Logger.getLogger("proton.driver");
-    private boolean _selected = false;
-
-    ListenerImpl(DriverImpl driver, ServerSocketChannel c, C context)
-    {
-        _driver = driver;
-        _channel = c;
-        _context = context;
-    }
-
-    void selected()
-    {
-        if (!_selected) {
-            _selected = true;
-            _driver.selectListener(this);
-        }
-    }
-
-    void unselected()
-    {
-        _selected = false;
-    }
-
-    public Connector<C> accept()
-    {
-        try
-        {
-            SocketChannel c = _channel.accept();
-            if(c != null)
-            {
-                c.configureBlocking(false);
-                return _driver.createServerConnector(c, null, this);
-            }
-        }
-        catch (IOException e)
-        {
-            _logger.log(Level.SEVERE, "Exception when accepting connection",e);
-        }
-        return null;  //TODO - we should probably throw an exception instead of returning null?
-    }
-
-    public C getContext()
-    {
-        return _context;
-    }
-
-    public void setContext(C context)
-    {
-        _context = context;
-    }
-
-    public void close() throws IOException
-    {
-        _channel.socket().close();
-    }
-}

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2afe2ec0/proton-j/src/main/java/org/apache/qpid/proton/messenger/Messenger.java
----------------------------------------------------------------------
diff --git a/proton-j/src/main/java/org/apache/qpid/proton/messenger/Messenger.java b/proton-j/src/main/java/org/apache/qpid/proton/messenger/Messenger.java
deleted file mode 100644
index bd19259..0000000
--- a/proton-j/src/main/java/org/apache/qpid/proton/messenger/Messenger.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
-*/
-package org.apache.qpid.proton.messenger;
-
-import java.io.IOException;
-
-import org.apache.qpid.proton.TimeoutException;
-import org.apache.qpid.proton.message.Message;
-import org.apache.qpid.proton.messenger.impl.MessengerImpl;
-
-/**
- *
- *  Messenger defines a high level interface for sending and receiving
- *  messages. Every Messenger contains a single logical queue of
- *  incoming messages and a single logical queue of outgoing
- *  messages. These messages in these queues may be destined for, or
- *  originate from, a variety of addresses.
- *
- *  <h3>Address Syntax</h3>
- *
- *  An address has the following form:
- *
- *    [ amqp[s]:// ] [user[:password]@] domain [/[name]]
- *
- *  Where domain can be one of:
- *
- *    host | host:port | ip | ip:port | name
- *
- *  The following are valid examples of addresses:
- *
- *   - example.org
- *   - example.org:1234
- *   - amqp://example.org
- *   - amqps://example.org
- *   - example.org/incoming
- *   - amqps://example.org/outgoing
- *   - amqps://fred:trustno1@example.org
- *   - 127.0.0.1:1234
- *   - amqps://127.0.0.1:1234
- *
- *  <h3>Sending &amp; Receiving Messages</h3>
- *
- *  The Messenger interface works in conjuction with the Message
- *  class. The Message class is a mutable holder of message content.
- *  The put method will encode the content in a given Message object
- *  into the outgoing message queue leaving that Message object free
- *  to be modified or discarded without having any impact on the
- *  content in the outgoing queue.
- *
- *  Similarly, the get method will decode the content in the incoming
- *  message queue into the supplied Message object.
- *
- *  @deprecated Messenger will be removed from upcoming proton-j releases.
-*/
-@Deprecated
-public interface Messenger
-{
-
-    /**
-     * @deprecated Messenger will be removed from upcoming proton-j releases.
-     */
-    @Deprecated
-    public static final class Factory
-    {
-        public static Messenger create() {
-            return new MessengerImpl();
-        }
-
-        public static Messenger create(String name) {
-            return new MessengerImpl(name);
-        }
-    }
-
-    /**
-     * Flag for use with reject(), accept() and settle() methods.
-     */
-    static final int CUMULATIVE = 0x01;
-
-    /**
-     * Places the content contained in the message onto the outgoing
-     * queue of the Messenger. This method will never block. The
-     * send call may be used to block until the messages are
-     * sent. Either a send() or a recv() call is neceesary at present
-     * to cause the messages to actually be sent out.
-     */
-    void put(Message message) throws MessengerException;
-
-    /**
-     * Blocks until the outgoing queue is empty and, in the event that
-     * an outgoing window has been set, until the messages in that
-     * window have been received by the target to which they were
-     * sent, or the operation times out. The timeout property
-     * controls how long a Messenger will block before timing out.
-     */
-    void send() throws TimeoutException;
-
-    void send(int n) throws TimeoutException;
-
-    /**
-     * Subscribes the Messenger to messages originating from the
-     * specified source. The source is an address as specified in the
-     * Messenger introduction with the following addition. If the
-     * domain portion of the address begins with the '~' character,
-     * the Messenger will interpret the domain as host/port, bind
-     * to it, and listen for incoming messages. For example
-     * "~0.0.0.0", "amqp://~0.0.0.0" will bind to any local interface
-     * and listen for incoming messages.
-     */
-    void subscribe(String source) throws MessengerException;
-    /**
-     * Receives an arbitrary number of messages into the
-     * incoming queue of the Messenger. This method will block until
-     * at least one message is available or the operation times out.
-     */
-    void recv() throws TimeoutException;
-    /**
-     * Receives up to the specified number of messages into the
-     * incoming queue of the Messenger. This method will block until
-     * at least one message is available or the operation times out.
-     */
-    void recv(int count) throws TimeoutException;
-    /**
-     * Returns the capacity of the incoming message queue of
-     * messenger. Note this count does not include those messages
-     * already available on the incoming queue (see
-     * incoming()). Rather it returns the number of incoming queue
-     * entries available for receiving messages
-     */
-    int receiving();
-    /**
-     * Returns the message from the head of the incoming message
-     * queue.
-     */
-    Message get();
-
-    /**
-     * Transitions the Messenger to an active state. A Messenger is
-     * initially created in an inactive state. When inactive, a
-     * Messenger will not send or receive messages from its internal
-     * queues. A Messenger must be started before calling send() or
-     * recv().
-     */
-    void start() throws IOException;
-    /**
-     * Transitions the Messenger to an inactive state. An inactive
-     * Messenger will not send or receive messages from its internal
-     * queues. A Messenger should be stopped before being discarded to
-     * ensure a clean shutdown handshake occurs on any internally managed
-     * connections.
-     */
-    void stop();
-
-    boolean stopped();
-
-    /** Sends or receives any outstanding messages queued for a
-     * messenger.  If timeout is zero, no blocking is done.  A timeout
-     * of -1 blocks forever, otherwise timeout is the maximum time (in
-     * millisecs) to block.  Returns True if work was performed.
-     */
-    boolean work(long timeout) throws TimeoutException;
-
-    void interrupt();
-
-    void setTimeout(long timeInMillis);
-    long getTimeout();
-
-    boolean isBlocking();
-    void setBlocking(boolean b);
-
-    /**
-     * Returns a count of the messages currently on the outgoing queue
-     * (i.e. those that have been put() but not yet actually sent
-     * out).
-     */
-    int outgoing();
-    /**
-     * Returns a count of the messages available on the incoming
-     * queue.
-     */
-    int incoming();
-
-    int getIncomingWindow();
-    void setIncomingWindow(int window);
-
-    int getOutgoingWindow();
-    void setOutgoingWindow(int window);
-
-    /**
-     * Returns a token which can be used to accept or reject the
-     * message returned in the previous get() call.
-     */
-    Tracker incomingTracker();
-    /**
-     * Returns a token which can be used to track the status of the
-     * message of the previous put() call.
-     */
-    Tracker outgoingTracker();
-
-    /**
-     * Rejects messages retrieved from the incoming message queue. The
-     * tracker object for a message is obtained through a call to
-     * incomingTracker() following a get(). If the flags argument
-     * contains CUMULATIVE, then all message up to the one identified
-     * by the tracker will be rejected.
-     */
-    void reject(Tracker tracker, int flags);
-    /**
-     * Accepts messages retrieved from the incoming message queue. The
-     * tracker object for a message is obtained through a call to
-     * incomingTracker() following a get(). If the flags argument
-     * contains CUMULATIVE, then all message up to the one identified
-     * by the tracker will be accepted.
-     */
-    void accept(Tracker tracker, int flags);
-    void settle(Tracker tracker, int flags);
-
-    /**
-     * Gets the last known remote state of the delivery associated
-     * with the given tracker.
-     */
-    Status getStatus(Tracker tracker);
-
-    void route(String pattern, String address);
-
-    void rewrite(String pattern, String address);
-
-    /**
-     * Set the path to the certificate file.
-     */
-    void setCertificate(String certificate);
-
-    /**
-     * Get the path to the certificate file.
-     */
-    String getCertificate();
-
-    /**
-     * Set the path to private key file.
-     */
-    void setPrivateKey(String privateKey);
-
-    /**
-     * Get the path to the private key file.
-     */
-    String getPrivateKey();
-
-    /**
-     * Set the password for private key file.
-     */
-    void setPassword(String password);
-
-    /**
-     * Get the password for the priate key file.
-     */
-    String getPassword();
-
-    /**
-     * Set the path to the trusted certificate database.
-     */
-    void setTrustedCertificates(String trusted);
-
-    /**
-     * Get the path to the trusted certificate database.
-     */
-    String getTrustedCertificates();
-
-}

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2afe2ec0/proton-j/src/main/java/org/apache/qpid/proton/messenger/MessengerException.java
----------------------------------------------------------------------
diff --git a/proton-j/src/main/java/org/apache/qpid/proton/messenger/MessengerException.java b/proton-j/src/main/java/org/apache/qpid/proton/messenger/MessengerException.java
deleted file mode 100644
index c6f3570..0000000
--- a/proton-j/src/main/java/org/apache/qpid/proton/messenger/MessengerException.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
-package org.apache.qpid.proton.messenger;
-
-import org.apache.qpid.proton.ProtonException;
-
-/**
- * @deprecated  Messenger will be removed from upcoming proton-j releases.
- */
-@Deprecated
-public class MessengerException extends ProtonException
-{
-    public MessengerException()
-    {
-    }
-
-    public MessengerException(String message)
-    {
-        super(message);
-    }
-
-    public MessengerException(String message, Throwable cause)
-    {
-        super(message, cause);
-    }
-
-    public MessengerException(Throwable cause)
-    {
-        super(cause);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2afe2ec0/proton-j/src/main/java/org/apache/qpid/proton/messenger/Status.java
----------------------------------------------------------------------
diff --git a/proton-j/src/main/java/org/apache/qpid/proton/messenger/Status.java b/proton-j/src/main/java/org/apache/qpid/proton/messenger/Status.java
deleted file mode 100644
index ae7ca95..0000000
--- a/proton-j/src/main/java/org/apache/qpid/proton/messenger/Status.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
-*/
-package org.apache.qpid.proton.messenger;
-
-/**
- * @deprecated Messenger will be removed from upcoming proton-j releases.
- */
-@Deprecated
-public enum Status
-{
-    UNKNOWN,
-    PENDING,
-    ACCEPTED,
-    REJECTED,
-    RELEASED,
-    MODIFIED,
-    ABORTED,
-    SETTLED
-}


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org