qpid_messaging 0.20.2 → 0.22.0
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +4 -0
- data/LICENSE +0 -4
- data/README.rdoc +15 -20
- data/TODO +10 -5
- data/ext/cqpid/cqpid.cpp +156 -40
- data/ext/cqpid/extconf.rb +10 -2
- data/lib/qpid_messaging.rb +56 -3
- data/lib/qpid_messaging/address.rb +51 -28
- data/lib/qpid_messaging/connection.rb +75 -46
- data/lib/qpid_messaging/duration.rb +49 -14
- data/lib/qpid_messaging/encoding.rb +5 -5
- data/lib/qpid_messaging/message.rb +61 -68
- data/lib/qpid_messaging/receiver.rb +62 -67
- data/lib/qpid_messaging/sender.rb +39 -56
- data/lib/qpid_messaging/session.rb +78 -81
- metadata +51 -61
- data/Rakefile +0 -137
- data/features/closing_a_connection.feature +0 -13
- data/features/closing_a_session.feature +0 -13
- data/features/connecting_to_a_broker.feature +0 -13
- data/features/creating_a_receiver.feature +0 -29
- data/features/creating_a_sender.feature +0 -25
- data/features/creating_a_session.feature +0 -12
- data/features/getting_the_connections_authenticated_username.feature +0 -8
- data/features/receiving_a_message.feature +0 -30
- data/features/sending_a_message.feature +0 -21
- data/features/session_returns_its_connection.feature +0 -12
- data/features/sessions_have_names.feature +0 -8
- data/features/step_definitions/address_steps.rb +0 -22
- data/features/step_definitions/connection_steps.rb +0 -93
- data/features/step_definitions/receiver_steps.rb +0 -69
- data/features/step_definitions/sender_steps.rb +0 -34
- data/features/step_definitions/session_steps.rb +0 -99
- data/features/support/env.rb +0 -22
- data/lib/qpid_messaging/errors.rb +0 -33
- data/lib/qpid_messaging/version.rb +0 -31
- data/spec/qpid_messaging/address_spec.rb +0 -87
- data/spec/qpid_messaging/connection_spec.rb +0 -191
- data/spec/qpid_messaging/duration_spec.rb +0 -56
- data/spec/qpid_messaging/encoding_spec.rb +0 -63
- data/spec/qpid_messaging/message_spec.rb +0 -305
- data/spec/qpid_messaging/receiver_spec.rb +0 -170
- data/spec/qpid_messaging/sender_spec.rb +0 -135
- data/spec/qpid_messaging/session_spec.rb +0 -353
- data/spec/spec_helper.rb +0 -20
data/ChangeLog
ADDED
data/LICENSE
CHANGED
data/README.rdoc
CHANGED
@@ -1,46 +1,41 @@
|
|
1
1
|
= Qpid - Ruby language bindings for the Qpid messaging framework.
|
2
2
|
|
3
|
-
Qpid is
|
3
|
+
Qpid is a cross-platform enterprise messaging system based on the open-source
|
4
4
|
AMQP protocol.
|
5
5
|
|
6
|
-
Version :: 0.20.0
|
7
|
-
|
8
6
|
= Links
|
9
7
|
|
10
8
|
Documents :: http://qpid.apache.org/
|
11
9
|
|
12
|
-
=
|
10
|
+
= Building The Gemfile
|
11
|
+
|
12
|
+
== Prerequisites
|
13
13
|
|
14
|
-
You
|
14
|
+
You need to have the Qpid client libraries installed along with the related
|
15
|
+
development files (headers, etc). To install them, please see:
|
15
16
|
|
16
|
-
|
17
|
+
http://cwiki.apache.org/qpid/developer-pages.html
|
17
18
|
|
18
|
-
==
|
19
|
+
== Gemfile Creation
|
19
20
|
|
20
|
-
|
21
|
-
development header files. To install them, please see:
|
21
|
+
Simply type:
|
22
22
|
|
23
|
-
|
23
|
+
$ gem build qpid_messaging.gemspec
|
24
24
|
|
25
|
-
|
26
|
-
itself, you can specify the location of the Qpid headers and
|
27
|
-
libraries with:
|
25
|
+
This will produce a gemfile name qpid_messaging-${VERSION}.gem.
|
28
26
|
|
29
|
-
|
30
|
-
$ make
|
27
|
+
== Installation
|
31
28
|
|
32
|
-
|
29
|
+
You can install Qpid with the following command:
|
33
30
|
|
34
|
-
|
35
|
-
the messaging capabilities of Qpid in your Ruby applications.
|
31
|
+
$ gem install qpid_messaging-${VERSION}.gem
|
36
32
|
|
37
33
|
== License
|
38
34
|
|
39
35
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
40
36
|
contributor licensing agreements.
|
41
37
|
|
42
|
-
Author::
|
43
|
-
Copyright:: Copyright (c) 2011, Red Hat, Inc.
|
38
|
+
Author:: Apache Qpid Project
|
44
39
|
Homepage:: http://qpid.apache.org
|
45
40
|
License:: Apache License 2.0 - http://www.apache.org/licenses/LICENSE-2.0.html
|
46
41
|
|
data/TODO
CHANGED
@@ -1,7 +1,12 @@
|
|
1
|
-
TODO
|
2
|
-
|
1
|
+
Qpid Ruby bindigns TODO List
|
2
|
+
==============================================================================
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
* Rework the blocking tasks to not bring the main thread to a halt.
|
4
|
+
Beyond this simple laundry list, you can find the list of bugs and
|
5
|
+
enhancements to be fixed by going to the Apache Qpid JIRA instance:
|
7
6
|
|
7
|
+
http://issues.apache.org/jira/browse/QPID
|
8
|
+
|
9
|
+
|
10
|
+
Fixes & Improvements
|
11
|
+
==============================================================================
|
12
|
+
* Fix the threading issues with blocking I/O calls (Receiver get/fetch).
|
data/ext/cqpid/cqpid.cpp
CHANGED
@@ -1859,6 +1859,12 @@ static VALUE mCqpid;
|
|
1859
1859
|
|
1860
1860
|
|
1861
1861
|
|
1862
|
+
struct mystr
|
1863
|
+
{
|
1864
|
+
size_t len;
|
1865
|
+
const char *ptr;
|
1866
|
+
};
|
1867
|
+
|
1862
1868
|
#include <qpid/messaging/exceptions.h>
|
1863
1869
|
#include <qpid/messaging/Address.h>
|
1864
1870
|
#include <qpid/messaging/Connection.h>
|
@@ -1994,6 +2000,9 @@ SWIG_From_std_string (const std::string& s)
|
|
1994
2000
|
return SWIG_FromCharPtrAndSize(s.data(), s.size());
|
1995
2001
|
}
|
1996
2002
|
|
2003
|
+
SWIGINTERN qpid::messaging::Duration qpid_messaging_Duration___mul__(qpid::messaging::Duration *self,uint64_t multiplier){
|
2004
|
+
return qpid::messaging::Duration(self->getMilliseconds() * multiplier);
|
2005
|
+
}
|
1997
2006
|
|
1998
2007
|
SWIGINTERNINLINE VALUE
|
1999
2008
|
SWIG_From_bool (bool value)
|
@@ -2126,13 +2135,6 @@ SWIG_AsVal_bool (VALUE obj, bool *val)
|
|
2126
2135
|
}
|
2127
2136
|
|
2128
2137
|
|
2129
|
-
SWIGINTERNINLINE VALUE
|
2130
|
-
SWIG_FromCharPtr(const char *cptr)
|
2131
|
-
{
|
2132
|
-
return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0));
|
2133
|
-
}
|
2134
|
-
|
2135
|
-
|
2136
2138
|
#define SWIG_From_long LONG2NUM
|
2137
2139
|
|
2138
2140
|
|
@@ -2149,6 +2151,12 @@ SWIG_From_size_t (size_t value)
|
|
2149
2151
|
return SWIG_From_unsigned_SS_long (static_cast< unsigned long >(value));
|
2150
2152
|
}
|
2151
2153
|
|
2154
|
+
SWIGINTERN mystr qpid_messaging_Message_getContentPtr(qpid::messaging::Message *self){
|
2155
|
+
mystr s;
|
2156
|
+
s.ptr = self->getContentPtr();
|
2157
|
+
s.len = self->getContentSize();
|
2158
|
+
return s;
|
2159
|
+
}
|
2152
2160
|
|
2153
2161
|
|
2154
2162
|
|
@@ -3161,6 +3169,45 @@ _wrap_Duration_MINUTE_get(VALUE self) {
|
|
3161
3169
|
}
|
3162
3170
|
|
3163
3171
|
|
3172
|
+
SWIGINTERN VALUE
|
3173
|
+
_wrap_Duration___mul__(int argc, VALUE *argv, VALUE self) {
|
3174
|
+
qpid::messaging::Duration *arg1 = (qpid::messaging::Duration *) 0 ;
|
3175
|
+
uint64_t arg2 ;
|
3176
|
+
void *argp1 = 0 ;
|
3177
|
+
int res1 = 0 ;
|
3178
|
+
SwigValueWrapper< qpid::messaging::Duration > result;
|
3179
|
+
VALUE vresult = Qnil;
|
3180
|
+
|
3181
|
+
if ((argc < 1) || (argc > 1)) {
|
3182
|
+
rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
|
3183
|
+
}
|
3184
|
+
res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_qpid__messaging__Duration, 0 | 0 );
|
3185
|
+
if (!SWIG_IsOK(res1)) {
|
3186
|
+
SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "qpid::messaging::Duration *","__mul__", 1, self ));
|
3187
|
+
}
|
3188
|
+
arg1 = reinterpret_cast< qpid::messaging::Duration * >(argp1);
|
3189
|
+
{
|
3190
|
+
if (TYPE(argv[0]) == T_BIGNUM)
|
3191
|
+
arg2 = NUM2ULL(argv[0]);
|
3192
|
+
else
|
3193
|
+
arg2 = (uint64_t) FIX2ULONG(argv[0]);
|
3194
|
+
}
|
3195
|
+
{
|
3196
|
+
try {
|
3197
|
+
result = qpid_messaging_Duration___mul__(arg1,arg2);
|
3198
|
+
}
|
3199
|
+
catch (qpid::messaging::MessagingException& mex) {
|
3200
|
+
static VALUE merror = rb_define_class("MessagingError", rb_eStandardError);
|
3201
|
+
rb_raise(merror, mex.what());
|
3202
|
+
}
|
3203
|
+
}
|
3204
|
+
vresult = SWIG_NewPointerObj((new qpid::messaging::Duration(static_cast< const qpid::messaging::Duration& >(result))), SWIGTYPE_p_qpid__messaging__Duration, SWIG_POINTER_OWN | 0 );
|
3205
|
+
return vresult;
|
3206
|
+
fail:
|
3207
|
+
return Qnil;
|
3208
|
+
}
|
3209
|
+
|
3210
|
+
|
3164
3211
|
SWIGINTERN void
|
3165
3212
|
free_qpid_messaging_Duration(qpid::messaging::Duration *arg1) {
|
3166
3213
|
delete arg1;
|
@@ -4586,38 +4633,6 @@ fail:
|
|
4586
4633
|
}
|
4587
4634
|
|
4588
4635
|
|
4589
|
-
SWIGINTERN VALUE
|
4590
|
-
_wrap_Message_getContentPtr(int argc, VALUE *argv, VALUE self) {
|
4591
|
-
qpid::messaging::Message *arg1 = (qpid::messaging::Message *) 0 ;
|
4592
|
-
void *argp1 = 0 ;
|
4593
|
-
int res1 = 0 ;
|
4594
|
-
char *result = 0 ;
|
4595
|
-
VALUE vresult = Qnil;
|
4596
|
-
|
4597
|
-
if ((argc < 0) || (argc > 0)) {
|
4598
|
-
rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
|
4599
|
-
}
|
4600
|
-
res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_qpid__messaging__Message, 0 | 0 );
|
4601
|
-
if (!SWIG_IsOK(res1)) {
|
4602
|
-
SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "qpid::messaging::Message const *","getContentPtr", 1, self ));
|
4603
|
-
}
|
4604
|
-
arg1 = reinterpret_cast< qpid::messaging::Message * >(argp1);
|
4605
|
-
{
|
4606
|
-
try {
|
4607
|
-
result = (char *)((qpid::messaging::Message const *)arg1)->getContentPtr();
|
4608
|
-
}
|
4609
|
-
catch (qpid::messaging::MessagingException& mex) {
|
4610
|
-
static VALUE merror = rb_define_class("MessagingError", rb_eStandardError);
|
4611
|
-
rb_raise(merror, mex.what());
|
4612
|
-
}
|
4613
|
-
}
|
4614
|
-
vresult = SWIG_FromCharPtr((const char *)result);
|
4615
|
-
return vresult;
|
4616
|
-
fail:
|
4617
|
-
return Qnil;
|
4618
|
-
}
|
4619
|
-
|
4620
|
-
|
4621
4636
|
SWIGINTERN VALUE
|
4622
4637
|
_wrap_Message_getContentSize(int argc, VALUE *argv, VALUE self) {
|
4623
4638
|
qpid::messaging::Message *arg1 = (qpid::messaging::Message *) 0 ;
|
@@ -4704,6 +4719,40 @@ fail:
|
|
4704
4719
|
}
|
4705
4720
|
|
4706
4721
|
|
4722
|
+
SWIGINTERN VALUE
|
4723
|
+
_wrap_Message_getContentPtr(int argc, VALUE *argv, VALUE self) {
|
4724
|
+
qpid::messaging::Message *arg1 = (qpid::messaging::Message *) 0 ;
|
4725
|
+
void *argp1 = 0 ;
|
4726
|
+
int res1 = 0 ;
|
4727
|
+
mystr result;
|
4728
|
+
VALUE vresult = Qnil;
|
4729
|
+
|
4730
|
+
if ((argc < 0) || (argc > 0)) {
|
4731
|
+
rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
|
4732
|
+
}
|
4733
|
+
res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_qpid__messaging__Message, 0 | 0 );
|
4734
|
+
if (!SWIG_IsOK(res1)) {
|
4735
|
+
SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "qpid::messaging::Message *","getContentPtr", 1, self ));
|
4736
|
+
}
|
4737
|
+
arg1 = reinterpret_cast< qpid::messaging::Message * >(argp1);
|
4738
|
+
{
|
4739
|
+
try {
|
4740
|
+
result = qpid_messaging_Message_getContentPtr(arg1);
|
4741
|
+
}
|
4742
|
+
catch (qpid::messaging::MessagingException& mex) {
|
4743
|
+
static VALUE merror = rb_define_class("MessagingError", rb_eStandardError);
|
4744
|
+
rb_raise(merror, mex.what());
|
4745
|
+
}
|
4746
|
+
}
|
4747
|
+
{
|
4748
|
+
vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_FromCharPtrAndSize((&result)->ptr, (&result)->len));
|
4749
|
+
}
|
4750
|
+
return vresult;
|
4751
|
+
fail:
|
4752
|
+
return Qnil;
|
4753
|
+
}
|
4754
|
+
|
4755
|
+
|
4707
4756
|
static swig_class SwigClassEncodingException;
|
4708
4757
|
|
4709
4758
|
#ifdef HAVE_RB_DEFINE_ALLOC_FUNC
|
@@ -6273,6 +6322,38 @@ fail:
|
|
6273
6322
|
}
|
6274
6323
|
|
6275
6324
|
|
6325
|
+
SWIGINTERN VALUE
|
6326
|
+
_wrap_Receiver_getAddress(int argc, VALUE *argv, VALUE self) {
|
6327
|
+
qpid::messaging::Receiver *arg1 = (qpid::messaging::Receiver *) 0 ;
|
6328
|
+
void *argp1 = 0 ;
|
6329
|
+
int res1 = 0 ;
|
6330
|
+
qpid::messaging::Address result;
|
6331
|
+
VALUE vresult = Qnil;
|
6332
|
+
|
6333
|
+
if ((argc < 0) || (argc > 0)) {
|
6334
|
+
rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
|
6335
|
+
}
|
6336
|
+
res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_qpid__messaging__Receiver, 0 | 0 );
|
6337
|
+
if (!SWIG_IsOK(res1)) {
|
6338
|
+
SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "qpid::messaging::Receiver const *","getAddress", 1, self ));
|
6339
|
+
}
|
6340
|
+
arg1 = reinterpret_cast< qpid::messaging::Receiver * >(argp1);
|
6341
|
+
{
|
6342
|
+
try {
|
6343
|
+
result = ((qpid::messaging::Receiver const *)arg1)->getAddress();
|
6344
|
+
}
|
6345
|
+
catch (qpid::messaging::MessagingException& mex) {
|
6346
|
+
static VALUE merror = rb_define_class("MessagingError", rb_eStandardError);
|
6347
|
+
rb_raise(merror, mex.what());
|
6348
|
+
}
|
6349
|
+
}
|
6350
|
+
vresult = SWIG_NewPointerObj((new qpid::messaging::Address(static_cast< const qpid::messaging::Address& >(result))), SWIGTYPE_p_qpid__messaging__Address, SWIG_POINTER_OWN | 0 );
|
6351
|
+
return vresult;
|
6352
|
+
fail:
|
6353
|
+
return Qnil;
|
6354
|
+
}
|
6355
|
+
|
6356
|
+
|
6276
6357
|
static swig_class SwigClassSender;
|
6277
6358
|
|
6278
6359
|
SWIGINTERN VALUE
|
@@ -6801,6 +6882,38 @@ fail:
|
|
6801
6882
|
}
|
6802
6883
|
|
6803
6884
|
|
6885
|
+
SWIGINTERN VALUE
|
6886
|
+
_wrap_Sender_getAddress(int argc, VALUE *argv, VALUE self) {
|
6887
|
+
qpid::messaging::Sender *arg1 = (qpid::messaging::Sender *) 0 ;
|
6888
|
+
void *argp1 = 0 ;
|
6889
|
+
int res1 = 0 ;
|
6890
|
+
qpid::messaging::Address result;
|
6891
|
+
VALUE vresult = Qnil;
|
6892
|
+
|
6893
|
+
if ((argc < 0) || (argc > 0)) {
|
6894
|
+
rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
|
6895
|
+
}
|
6896
|
+
res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_qpid__messaging__Sender, 0 | 0 );
|
6897
|
+
if (!SWIG_IsOK(res1)) {
|
6898
|
+
SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "qpid::messaging::Sender const *","getAddress", 1, self ));
|
6899
|
+
}
|
6900
|
+
arg1 = reinterpret_cast< qpid::messaging::Sender * >(argp1);
|
6901
|
+
{
|
6902
|
+
try {
|
6903
|
+
result = ((qpid::messaging::Sender const *)arg1)->getAddress();
|
6904
|
+
}
|
6905
|
+
catch (qpid::messaging::MessagingException& mex) {
|
6906
|
+
static VALUE merror = rb_define_class("MessagingError", rb_eStandardError);
|
6907
|
+
rb_raise(merror, mex.what());
|
6908
|
+
}
|
6909
|
+
}
|
6910
|
+
vresult = SWIG_NewPointerObj((new qpid::messaging::Address(static_cast< const qpid::messaging::Address& >(result))), SWIGTYPE_p_qpid__messaging__Address, SWIG_POINTER_OWN | 0 );
|
6911
|
+
return vresult;
|
6912
|
+
fail:
|
6913
|
+
return Qnil;
|
6914
|
+
}
|
6915
|
+
|
6916
|
+
|
6804
6917
|
static swig_class SwigClassSession;
|
6805
6918
|
|
6806
6919
|
SWIGINTERN VALUE
|
@@ -9763,6 +9876,7 @@ SWIGEXPORT void Init_cqpid(void) {
|
|
9763
9876
|
rb_define_singleton_method(SwigClassDuration.klass, "IMMEDIATE", VALUEFUNC(_wrap_Duration_IMMEDIATE_get), 0);
|
9764
9877
|
rb_define_singleton_method(SwigClassDuration.klass, "SECOND", VALUEFUNC(_wrap_Duration_SECOND_get), 0);
|
9765
9878
|
rb_define_singleton_method(SwigClassDuration.klass, "MINUTE", VALUEFUNC(_wrap_Duration_MINUTE_get), 0);
|
9879
|
+
rb_define_method(SwigClassDuration.klass, "*", VALUEFUNC(_wrap_Duration___mul__), -1);
|
9766
9880
|
SwigClassDuration.mark = 0;
|
9767
9881
|
SwigClassDuration.destroy = (void (*)(void *)) free_qpid_messaging_Duration;
|
9768
9882
|
SwigClassDuration.trackObjects = 0;
|
@@ -9796,9 +9910,9 @@ SWIGEXPORT void Init_cqpid(void) {
|
|
9796
9910
|
rb_define_method(SwigClassMessage.klass, "getProperties", VALUEFUNC(_wrap_Message_getProperties), -1);
|
9797
9911
|
rb_define_method(SwigClassMessage.klass, "setContent", VALUEFUNC(_wrap_Message_setContent), -1);
|
9798
9912
|
rb_define_method(SwigClassMessage.klass, "getContent", VALUEFUNC(_wrap_Message_getContent), -1);
|
9799
|
-
rb_define_method(SwigClassMessage.klass, "getContentPtr", VALUEFUNC(_wrap_Message_getContentPtr), -1);
|
9800
9913
|
rb_define_method(SwigClassMessage.klass, "getContentSize", VALUEFUNC(_wrap_Message_getContentSize), -1);
|
9801
9914
|
rb_define_method(SwigClassMessage.klass, "setProperty", VALUEFUNC(_wrap_Message_setProperty), -1);
|
9915
|
+
rb_define_method(SwigClassMessage.klass, "getContentPtr", VALUEFUNC(_wrap_Message_getContentPtr), -1);
|
9802
9916
|
SwigClassMessage.mark = 0;
|
9803
9917
|
SwigClassMessage.destroy = (void (*)(void *)) free_qpid_messaging_Message;
|
9804
9918
|
SwigClassMessage.trackObjects = 0;
|
@@ -9827,6 +9941,7 @@ SWIGEXPORT void Init_cqpid(void) {
|
|
9827
9941
|
rb_define_method(SwigClassReceiver.klass, "isClosed", VALUEFUNC(_wrap_Receiver_isClosed), -1);
|
9828
9942
|
rb_define_method(SwigClassReceiver.klass, "getName", VALUEFUNC(_wrap_Receiver_getName), -1);
|
9829
9943
|
rb_define_method(SwigClassReceiver.klass, "getSession", VALUEFUNC(_wrap_Receiver_getSession), -1);
|
9944
|
+
rb_define_method(SwigClassReceiver.klass, "getAddress", VALUEFUNC(_wrap_Receiver_getAddress), -1);
|
9830
9945
|
SwigClassReceiver.mark = 0;
|
9831
9946
|
SwigClassReceiver.destroy = (void (*)(void *)) free_qpid_messaging_Receiver;
|
9832
9947
|
SwigClassReceiver.trackObjects = 0;
|
@@ -9843,6 +9958,7 @@ SWIGEXPORT void Init_cqpid(void) {
|
|
9843
9958
|
rb_define_method(SwigClassSender.klass, "getAvailable", VALUEFUNC(_wrap_Sender_getAvailable), -1);
|
9844
9959
|
rb_define_method(SwigClassSender.klass, "getName", VALUEFUNC(_wrap_Sender_getName), -1);
|
9845
9960
|
rb_define_method(SwigClassSender.klass, "getSession", VALUEFUNC(_wrap_Sender_getSession), -1);
|
9961
|
+
rb_define_method(SwigClassSender.klass, "getAddress", VALUEFUNC(_wrap_Sender_getAddress), -1);
|
9846
9962
|
SwigClassSender.mark = 0;
|
9847
9963
|
SwigClassSender.destroy = (void (*)(void *)) free_qpid_messaging_Sender;
|
9848
9964
|
SwigClassSender.trackObjects = 0;
|
data/ext/cqpid/extconf.rb
CHANGED
@@ -25,8 +25,16 @@
|
|
25
25
|
|
26
26
|
require 'mkmf'
|
27
27
|
|
28
|
+
(rver, rrev, rmin) = RUBY_VERSION.split('.')
|
29
|
+
|
30
|
+
old_ruby = (rver == "1" && rrev < "9") # pre-1.9
|
31
|
+
|
28
32
|
# Setup the build environment.
|
29
|
-
|
33
|
+
if old_ruby
|
34
|
+
$CFLAGS = "-fPIC -fno-inline -x c++ -lstdc++"
|
35
|
+
else
|
36
|
+
$CFLAGS = "-fPIC -fno-inline"
|
37
|
+
end
|
30
38
|
|
31
39
|
REQUIRED_LIBRARIES = [
|
32
40
|
'stdc++',
|
@@ -68,7 +76,7 @@ have_library('stdc++')
|
|
68
76
|
|
69
77
|
REQUIRED_LIBRARIES.each {|library| require_library library}
|
70
78
|
|
71
|
-
REQUIRED_HEADERS.each {|header| require_header header}
|
79
|
+
REQUIRED_HEADERS.each {|header| require_header header} if old_ruby
|
72
80
|
|
73
81
|
create_makefile('cqpid')
|
74
82
|
|
data/lib/qpid_messaging.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
#--
|
2
2
|
# Licensed to the Apache Software Foundation (ASF) under one
|
3
3
|
# or more contributor license agreements. See the NOTICE file
|
4
4
|
# distributed with this work for additional information
|
@@ -15,9 +15,9 @@
|
|
15
15
|
# KIND, either express or implied. See the License for the
|
16
16
|
# specific language governing permissions and limitations
|
17
17
|
# under the License.
|
18
|
-
|
18
|
+
#++
|
19
|
+
|
19
20
|
require 'cqpid'
|
20
|
-
require 'qpid_messaging/errors'
|
21
21
|
require 'qpid_messaging/duration'
|
22
22
|
require 'qpid_messaging/address'
|
23
23
|
require 'qpid_messaging/encoding'
|
@@ -27,3 +27,56 @@ require 'qpid_messaging/receiver'
|
|
27
27
|
require 'qpid_messaging/session'
|
28
28
|
require 'qpid_messaging/connection'
|
29
29
|
|
30
|
+
module Qpid
|
31
|
+
|
32
|
+
# The Qpid Messaging framework is an enterprise messaging framework
|
33
|
+
# based on the open-source AMQP protocol.
|
34
|
+
#
|
35
|
+
# ==== Example Application
|
36
|
+
#
|
37
|
+
# Here is a simple example application. It creates a link to a broker located
|
38
|
+
# on a system named *broker.myqpiddomain.com*. It then creates a new messaging
|
39
|
+
# queue named "qpid-examples" and publishes a message to it. It then consumes
|
40
|
+
# that same message and closes the connection.
|
41
|
+
#
|
42
|
+
# require 'rubygems'
|
43
|
+
# gem 'qpid_messaging'
|
44
|
+
# require 'qpid_messaging'
|
45
|
+
#
|
46
|
+
# # create a connection, open it and then create a session named "session1"
|
47
|
+
# conn = Qpid::Messaging::Connection.new :name => "broker.myqpiddomain.com"
|
48
|
+
# conn.open
|
49
|
+
# session = conn.create_session "session1"
|
50
|
+
#
|
51
|
+
# # create a sender and a receiver
|
52
|
+
# # the sender marks the queue as one that is deleted when trhe sender disconnects
|
53
|
+
# send = session.create_sender "qpid-examples;{create:always,delete:always}"
|
54
|
+
# recv = session.create_receiver "qpid-examples"
|
55
|
+
#
|
56
|
+
# # create an outgoing message and send it
|
57
|
+
# outgoing = Qpid::Messaging::Message.new :content => "The time is #{Time.new}"
|
58
|
+
# sender.send outgoing
|
59
|
+
#
|
60
|
+
# # set the receiver's capacity to 10 and then check out many messages are pending
|
61
|
+
# recv.capacity = 10
|
62
|
+
# puts "There are #{recv.available} messages waiting." # should report 1 message
|
63
|
+
#
|
64
|
+
# # get the nextwaiting message, which should be in the local queue now,
|
65
|
+
# # and output the contents
|
66
|
+
# incoming = recv.get Qpid::Messaging::Duration::IMMEDIATE
|
67
|
+
# puts "Received the following message: #{incoming.content}"
|
68
|
+
# # the output should be the text that was sent earlier
|
69
|
+
#
|
70
|
+
# # acknowledge the message, letting the sender know the message was received
|
71
|
+
# puts "The sender currently has #{send.unsettled} message(s) pending."
|
72
|
+
# # should report 1 unsettled message
|
73
|
+
# session.acknowledge incoming # acknowledge the received message
|
74
|
+
# puts "Now sender currently has #{send.unsettled} message(s) pending."
|
75
|
+
# # should report 0 unsettled messages
|
76
|
+
#
|
77
|
+
# # close the connection
|
78
|
+
# conn.close
|
79
|
+
#
|
80
|
+
module Messaging; end
|
81
|
+
|
82
|
+
end
|