summaryrefslogtreecommitdiff
path: root/qpid/dotnet/Qpid.Client/Client
diff options
context:
space:
mode:
authorMartin Ritchie <ritchiem@apache.org>2007-07-31 15:53:37 +0000
committerMartin Ritchie <ritchiem@apache.org>2007-07-31 15:53:37 +0000
commit4fbd28b6078d6b3fbfe528a99d6e27963c68f99b (patch)
treed3bc0af887993b89b29e22bde800825cde255251 /qpid/dotnet/Qpid.Client/Client
parent0413e1028718321ec7f2dffd6bbeeb6646cd2006 (diff)
downloadqpid-python-4fbd28b6078d6b3fbfe528a99d6e27963c68f99b.tar.gz
Merged revisions 1-447993,447995-448007,448009-448141,448143-448157,448161-448194,448196-448210,448212-448218,448220-448223,448225-448233,448235,448237-448241,448243-448596,448598-448623,448625-448850,448852-448880,448882-448982,448984-449635,449637-449639,449641-449642,449644-449645,449647-449674,449676-449719,449721-449749,449751-449762,449764-449933,449935-449941,449943-450383,450385,450387-450400,450402-450433,450435-450503,450505-450555,450557-450860,450862-451024,451026-451149,451151-451316,451318-451931,451933-452139,452141-452162,452164-452320,452322,452324-452325,452327-452333,452335-452429,452431-452528,452530-452545,452547-453192,453194-453195,453197-453536,453538,453540-453656,453658-454676,454678-454735,454737,454739-454781,454783-462728,462730-462819,462821-462833,462835-462839,462841-463071,463073-463178,463180-463308,463310-463362,463364-463375,463377-463396,463398-463402,463404-463409,463411-463661,463663-463670,463672-463673,463675-464493,464495-464502,464504-464576,464578-464613,464615-464628,464630,464632-464866,464868-464899,464901-464942,464944-464949,464951-465004,465006-465016,465018-465053,465055-465165,465167-465321,465323-465406,465408-465427,465429-465431,465433-465548,465550-466044,466047-466075,466077,466079-466081,466083-466099,466101-466112,466114-466126,466128-466240,466242-466971,466973-466978,466980-467309,467311-467312,467316-467328,467330-467485,467487-467588,467590-467604,467606-467699,467701-467706,467708-467749,467751-468069,468071-468537,468539-469241,469244-469246,469248-469318,469320-469421,469423,469425-469429,469431-469435,469437-469462,469464-469469,469472-469477,469479-469490,469492-469503,469505-469529,469531-469598,469600-469624,469626-469737,469739-469752,469754-469806,469808-469928,469930-469953,469955-470011,470013-470109,470111-470335,470338-470339,470341-470379,470381,470383-470399,470401-470446,470448-470741,470743-470758,470760-470809,470811-470817,470819-470993,470995-471001,471003-471788,471790-471792,471794-472028,472030-472032,472034-472036,472038,472040,472043,472045-472059,472061,472063,472065-472066,472068,472070-472072,472074-472080,472082,472084-472092,472094-472107,472109-472123,472125-472158,472160-472165,472167-472172,472174-472457,472459-472460,472462-472464,472466-472470,472472-472483,472486-472491,472493-472494,472496-472497,472499,472501-472503,472505-472512,472514-472544,472546-472556,472558-472560,472562-472572,472574-472587,472589-472591,472593-472605,472607,472609-472731,472733-472786,472788-472843,472845-472849,472851-472859,472861-472878,472880-472903,472905,472907-472988,472990-472991,472993-473071,473073-473086,473088-473090,473093,473095-473096,473098-473106,473108-473110,473112-473185,473187-473260,473262,473268-473270,473275-473279,473281,473284-473287,473289-473295,473297-473306,473308-473330,473332-473335,473337,473339-473344,473346-473351,473353-473355,473357-473358,473361-473471,473473-473497,473499-473535,473537-473567,473569-473888,473890-474451,474454-474492,474494-474563,474565-474843,474845-474865,474867-474932,474934-475035,475037-475144,475146-475180,475182-475265,475267-475285,475287,475289-475293,475295-475296,475298-475302,475304-475631,475633-475649,475651-475748,475750-475752,475754-476107,476109-476302,476304-476413,476415-476430,476432-476700,476702-476868,476870-477147,477149-477213,477215-477263,477265-477340,477342-477635,477637-477789,477791-477825,477827-477841,477843,477846-477852,477854,477856,477858-477865,477867-477894,477896-478022,478024-478182,478184-478211,478213-478233,478235-478236,478238-478241,478243-478252,478254-478259,478261-478263,478265,478267-478269,478271-478286,478288-478342,478344-478379,478381-478412,478414-478443,478445-478636,478639-478658,478660-478821,478823-478853,478855-478922,478924-478962,478965-478974,478976-479029,479031-479049,479051-479210,479212-479214,479216-479407,479409-479415,479417-479425,479427-479559,479561-479639,479641-479676,479678-479685,479687-480030,480033-480086,480091-480093,480095-480118,480120-480139,480141,480143-480148,480150-480156,480158-480163,480165-480177,480179-480189,480191-480193,480195-480198,480200-480220,480222-480282,480284-480292,480294-480308,480310-480317,480320-480422,480424,480426-480581,480583-480656,480658-480692,480695-480702,480704,480706-480710,480712-480910,480913-480933,480935-480945,480947-480972,480974-480993,480995-481034,481036-481158,481161-481174,481176-481220,481222-481234,481236-481260,481263-481264,481266-481296,481298-481304,481306-481311,481313-481332,481334,481336-481380,481382-481441,481443-482144,482146-482180,482182-482193,482195-482232,482234-482236,482239,482241-482242,482244-482247,482250-482251,482253,482256-482261,482264-482288,482290-482364,482366,482368,482370-482554,482556,482558-482569,482572-482636,482638,482640-482696,482698-482722,482724-482732,482734-482771,482774-482957,482959-483045,483047-483105,483108,483110-483115,483117,483119-483127,483130-483134,483136-483148,483150-483158,483160-483164,483166-483178,483180-483391,483393-483400,483402-483403,483405-483418,483420-483421,483425-483436,483438-483470,483472-483502,483504-483558,483560-483599,483601-483637,483639-483644,483646-483659,483661-483670,483672-483878,483880-483910,483912-483915,483917-483940,483942,483944-483968,483970-483972,483974-483976,483978,483980-484612,484614-484657,484659-484693,484695-484718,484720-484842,484844-484847,484849-484986,484988-485019,485021-485489,485491-485544,485546-485591,485593,485595-485697,485699-485729,485731-485734,485736-485779,485781-485787,485789-485851,485853,485855-486007,486009,486011-486020,486022-486083,486085-486097,486099-486117,486120-486131,486133-486148,486150-486161,486163-486164,486166-486197,486199-486205,486208-486247,486249-486253,486256-486427,486429-486431,486433-486554,486556-486573,486575-486593,486595,486597-486609,486611-486619,486622,486625,486627-486641,486643-486645,486649-486687,486689-486721,486723-486730,486732-486746,486748-486759,486761,486763-486777,486779-486782,486784-486788,486790,486792,486794-486796,486798-487175,487178,487180-487213,487215,487217-487267,487269-487284,487286-487298,487300-487358,487360-487367,487369-487382,487384-487434,487436-487480,487482-487547,487549-487561,487563-487565,487567-487578,487580-487615,487617-487622,487624,487626,487628,487630-487635,487637-487703,487705-487777,487780-487781,487783-487800,487802-487803,487805-487820,487822-487848,487850-487902,487904-488103,488105-488133,488135-488158,488160-488163,488165-488187,488189-488216,488218-488248,488250-488278,488280,488282-488303,488305-488313,488315-488342,488344-488351,488353-488376,488378-488449,488451-488593,488595,488597-488623,488625-488700,488702-488704,488706-488710,488714,488716-488725,488727-488744,488746-488770,488772-488798,488800,488802-488807,488809,488811-488829,488831-488843,488845-488851,488853-489069,489071-489077,489079-489081,489084-489102,489104-489105,489107-489109,489111-489112,489114-489139,489141-489178,489181-489203,489205-489211,489213,489216-489329,489332-489402,489404-489417,489419-489421,489423-489643,489645-489690,489692-489703,489705-489714,489716-489747,489749-489753,489755-489803,489805-489904,489906-490372,490374-490504,490506-490604,490606-490707,490710-490733,490735-490871,490873-490984,490986-491028,491030,491032-491071,491073-491119,491121-491576,491578-491672,491674-491800,491802-491838,491840-491878,491880-492183,492185-492279,492281-492317,492319-492513,492515-492584,492586-492587,492589-492601,492603-492635,492637-492640,492642-492717,492719-492723,492725-492729,492731-492755,492757-492901,492903-492955,492957-492962,492964-492997,492999-493002,493004-493041,493043-493059,493062-493063,493065-493086,493088-493125,493127-493139,493141-493150,493152-493871,493873-494017,494019-494030,494032-494041,494043-494091,494093-494120,494122-494354,494356-494436,494438-494539,494541-494552,494554-494586,494588-494649,494651,494653-494654,494656-494657,494659-494764,494766-494768,494770-494796,494798-494799,494802,494804-494860,494862-494903,494905-494906,494908-495019,495021-495160,495162-495168,495171-495188,495190-495229,495231-495254,495256-495303,495305-495313,495315-495336,495338-495372,495374-495379,495381-495454,495457-495459,495462-495516,495518-495524,495526-495531,495533-495548,495551-495553,495555,495557-495558,495560,495562-495573,495575-495583,495585-495594,495596-495628,495630-495638,495640-495651,495653-495660,495662-495753,495755-496259,496261-496262,496264-496269,496271-496275,496277-496301,496303-496316,496318-496383,496385-496413,496415-496495,496497-496625,496627-496636,496638-496640,496642-496647,496650-496657,496659-496660,496663-496664,496666-496677,496679-496681,496683-496730,496732-496750,496752,496754-496784,496786-496832,496834-496840,496842-496990,496992-496995,496997-497340,497343-497351,497353-497403,497405-497424,497426-497438,497440-497481,497483-497497,497499-497765,497767-497769,497771-497775,497777-497778,497780,497782-497783,497785,497787-497812,497814-497871,497873-497877,497879-498573,498575-498588,498590,498592,498594-498636,498638-498669,498671-498686,498688-498689,498691-498719,498721-498964,498966-498969,498971-498973,498975-498982,498985-499035,499037-499040,499042,499044-499048,499050-499082,499084-499086,499088-499164,499167-499169,499171-499355,499357-499370,499372-499373,499375-499391,499393,499395-499425,499428,499430-499445,499447-499455,499457-499460,499462-499465,499467,499469-499489,499491-499492,499494-499531,499533-499562,499566-499627,499629-499715,499717-499732,499734-499755,499758-499763,499765-499780,499782-499795,499797-499802,499804-499844,499846,499848-499850,499852-499863,499865-499873,499875-499974,499976-499978,499980-500263,500265-500283,500285-500309,500311-501000,501002,501012-501057,501059-501095,501097-501390,501392-501410,501413-501447,501449-501454,501456,501458-501464,501466-501471,501473-501803,501805-501913,501915-501916,501918-501919,501921-501944,501946-502171,502173-502177,502181,502183-502247,502250-502252,502254-502260,502262-502267,502270,502272,502274-502575,502577-502609,502611-502619,502621-502626,502628-502654,502656-503592,503594-503603,503605-503608,503610-503636,503638-503645,503647-503705,503707-503789,503791-504024,504026-504111,504113-504506,504508-504735,504737-504863,504865-504867,504869-504914,504916-505241,505243-505254,505257-505267,505269-505354,505356-505891,505893-505971,505973-506400,506402-506404,506407-506438,506440-506516,506518-506541,506543-506966,506968-506971,506973-507095,507097-507108,507111-507454,507456,507459-507471,507473-507556,507558,507560-507581,507585-507594,507597,507599-507608,507610-507728,507730-507893,507895-507937,507940-508234,508236-508350,508352-508365,508367-508380,508383,508386-508415,508417-508648,508650-508941,508943-509146,509148-509171,509173-509175,509179-509201,509203-509207,509209-509215,509217-509222,509224-509477,509480-509627,509629-509634,509636-509641,509643-509736,509738-509931,509933-510059,510061-510075,510077-510158,510161-510896,510898-510938,510940-511388,511390-511922,511924-512287,512289-512698,512702-512813,512815-512817,512819-513359,513361-513370,513372-514702,514704-514886,514888-514902,514904-515126,515129-515141,515143-515516,515518-515534,515536-515538,515540-515648,515650-515651,515653-516070,516072-516411,516413-516448,516450,516452-517637,517639-517647,517649-517659,517661-517663,517665-517677,517679-517682,517684-517744,517746-518085,518087-518175,518177-518558,518560-518568,518571-518666,518668,518670-518699,518701-518987,518990-518992,518994-519908,519910-519932,519934-520414,520416-520842,520844-520937,520939-521362,521364-521681,521683-521704,521706-521709,521711-521714,521716-521781,521783-521792,521794-522462,522464-522527,522529-522534,522536-522566,522568-522958,522960,522962-522966,522968-522976,522978-522980,522982-522988,522992-522993,522995-523244,523246-523746,523748-524049,524051-524738,524741-524742,524744-524762,524764,524766,524768-525486,525488-525530,525532,525534,525537-525552,525554-525765,525767-525776,525778-525784,525789-525803,525805-525816,525818-525828,525830-525861,525863-525866,525868-526090,526092-526112,526114-526116,526119-526121,526123-526149,526151-526153,526155-526156,526160-526165,526167-526186,526188-526193,526196-526197,526200-526665,526667-526682,526686-526690,526693,526695-526708,526710-526713,526715-526775,526777-526802,526804-526806,526808-527048,527051-527052,527054-527181,527183-527486,527488-527492,527494-527498,527500-527508,527510-527517,527519-527536,527538-527555,527559-527802,527804-527842,527844-527847,527849-527875,527877-527940,527942-527958,527960-527971,527973-528002,528004,528006-528423,528425-529232,529234-529245,529247-529296,529298-529634,529636-529658,529660-529665,529667-529668,529670-530033,530035-530036,530038-530040,530045-530046,530050-530051,530053-530431,530433-530436,530439-530440,530443,530445-530446,530448,530450-530682,530684,530687-530696,530698-530733,530735-530776,530778-530795,530799,530801-530811,530813-530818,530820-530837,530839-531436,531438-531455,531457,531459-531511,531514,531516,531519-531523,531525,531528-531858,531860-531864,531866-531907,531909-531916,531918-531936,531938-531988,531990-532001,532003-532371,532373-532465,532467-532727,532729-532765,532767-532785,532788-532790,532792-532793,532795-533064,533066-533074,533076,533080-533130,533132-533139,533142-533703,533705-533720,533722-533763,533766-533818,533820-533839,533841-533859,533862-534035,534037-534112,534114-534116,534118-534472,534474-534477,534479-534762,534764-534896,534898-534902,534904-535253,535255-535308,535310-535808,535810-535873,535875-536007,536009-536140,536142-536162,536165-536242,536244-536252,536254-536278,536280-536338,536340-536448,536450-536479,536481-536482,536484-536485,536487-536495,536497,536500-536505,536507-536561,536563-536570,536572,536574-536583,536586-536823,536825-537014,537016-537018,537020-537025,537027-537028,537030-537160,537162-537170,537172-537672,537674-537781,537783-537833,537836-537840,537842-537844,537846-537953,537955-538034,538036-538078,538080-538083,538085-538097,538099-538108,538110-538239,538241-538881,538883-538906,538908-538911,538913-538921,538923-539177,539179-539190,539192-539469,539471-539475,539477-539480,539482-539483,539485-539500,539502-539593,539595-539782,539784-539787,539789-540106,540108-540168,540170-540510,540512-541246,541248-542483,542485-542788,542790-543495,543497-544108,544110-544421,544423-544507,544509-544865,544867-545145,545147-546095,546097-546189,546191-546440,546442-546457,546459-547177,547179-547626,547628-548275,548277-548278,548280-548301,548303-548307,548309-548311,548313-548314,548316,548318,548320-548380,548382-549010,549012-549529,549531-549848,549850-550508,550510-550747,550749-550772,550774-550848,550850-551116,551122-553446,553448-561282 via svnmerge from
https://svn.apache.org/repos/asf/incubator/qpid/branches/M2 ........ r541920 | tomasr | 2007-05-26 18:35:51 +0100 (Sat, 26 May 2007) | 1 line QPID-136 Initial Prefetch Implementation ........ r549112 | arnaudsimon | 2007-06-20 15:11:03 +0100 (Wed, 20 Jun 2007) | 1 line changed setText to use UTF8 as default encoder ........ r551167 | arnaudsimon | 2007-06-27 15:08:50 +0100 (Wed, 27 Jun 2007) | 1 line added public void declareAndBind(AMQDestination amqd) ........ r551174 | ritchiem | 2007-06-27 15:23:21 +0100 (Wed, 27 Jun 2007) | 3 lines Caused each of these tests to run 10 times to help identify any race conditions that were occuring. Updated the CommitRollbackTest to be more robust in the detection of failure. ........ r551175 | ritchiem | 2007-06-27 15:23:52 +0100 (Wed, 27 Jun 2007) | 1 line Allowed more of the constants to be set via system properties. ........ r551176 | ritchiem | 2007-06-27 15:25:13 +0100 (Wed, 27 Jun 2007) | 1 line renamed the passwd programme qpid-passwd to match the change in bin directory. ........ r552441 | rupertlssmith | 2007-07-02 10:23:54 +0100 (Mon, 02 Jul 2007) | 1 line Added log4j as slfj logger for perftests. ........ r552499 | rupertlssmith | 2007-07-02 15:17:45 +0100 (Mon, 02 Jul 2007) | 1 line Added some documentation. ........ r553172 | rupertlssmith | 2007-07-04 12:11:04 +0100 (Wed, 04 Jul 2007) | 1 line Messages moved by management console now commited on the message store. ........ r553248 | ritchiem | 2007-07-04 17:05:55 +0100 (Wed, 04 Jul 2007) | 6 lines Addition of the MessageStore Tool. Small changes to the Exchanges to allow the extraction of currently listed items. Extracted initial broker configuration mechanism to a reusable class. Have modified broker to use it. Move the Passwd.java to new tools package structure on the broker. ........ r553265 | ritchiem | 2007-07-04 17:42:59 +0100 (Wed, 04 Jul 2007) | 1 line Tidied up some extranious logging. ........ r553432 | rupertlssmith | 2007-07-05 10:28:33 +0100 (Thu, 05 Jul 2007) | 1 line Fixed test state carrying over to mandatory message test from immediate. Also added in-vm clean up to other tests. ........ r553480 | ritchiem | 2007-07-05 13:40:50 +0100 (Thu, 05 Jul 2007) | 2 lines Minor changes and tidy up when running via command line. Added Copy command. ........ r553482 | ritchiem | 2007-07-05 13:44:42 +0100 (Thu, 05 Jul 2007) | 2 lines Forgot to compile before committing. Missed a method change in the Select command. ........ r554964 | rupertlssmith | 2007-07-10 15:40:04 +0100 (Tue, 10 Jul 2007) | 1 line Added message copy method. ........ r555249 | rupertlssmith | 2007-07-11 12:52:39 +0100 (Wed, 11 Jul 2007) | 1 line Update perftests to center better around current performance. ........ r556011 | rupertlssmith | 2007-07-13 15:24:03 +0100 (Fri, 13 Jul 2007) | 1 line Moved test framework into its own package and cleaned it up. ........ r556024 | rupertlssmith | 2007-07-13 16:02:06 +0100 (Fri, 13 Jul 2007) | 1 line Completed javadoc for test framework. ........ r556628 | rgodfrey | 2007-07-16 14:50:57 +0100 (Mon, 16 Jul 2007) | 1 line QPID-537 : Make AMQMessage.incrementReference public ........ r556675 | cctrieloff | 2007-07-16 18:36:21 +0100 (Mon, 16 Jul 2007) | 2 lines added notice entries ........ r556680 | cctrieloff | 2007-07-16 18:56:40 +0100 (Mon, 16 Jul 2007) | 2 lines clean up ........ r556682 | cctrieloff | 2007-07-16 18:58:37 +0100 (Mon, 16 Jul 2007) | 2 lines removed optional cppunit as not in distributed packages ........ r556845 | ritchiem | 2007-07-17 09:26:33 +0100 (Tue, 17 Jul 2007) | 3 lines Additional logging in case of broker failure at startup. Use broker logger at error level as well as System.out ........ r556847 | ritchiem | 2007-07-17 09:35:35 +0100 (Tue, 17 Jul 2007) | 3 lines Update to the MessageStore Tool to provide Move and Purge functionality. Updated to remove the AMQExceptions that will be removed from the Exchange class. ........ r556861 | ritchiem | 2007-07-17 10:26:47 +0100 (Tue, 17 Jul 2007) | 2 lines QPID-538 Check to ensure a duplicate binding is not created. ........ r556868 | ritchiem | 2007-07-17 10:55:56 +0100 (Tue, 17 Jul 2007) | 1 line Addition of simple pub/sub examples. ........ r556869 | ritchiem | 2007-07-17 10:56:17 +0100 (Tue, 17 Jul 2007) | 1 line QPID-540 Prevent NPE when purging message from the main _message queue in the ConcurrentSelectorDeliveryManager that have been delivered via a Subscribers _messageQueue. Ensuring that any expired messages are still correctly handled. i.e. the Queue size/depth is reduced and the message correctly dequeued from the underlying store. ........ r556871 | ritchiem | 2007-07-17 10:57:35 +0100 (Tue, 17 Jul 2007) | 1 line White space & code formatting change ........ r556872 | ritchiem | 2007-07-17 10:58:35 +0100 (Tue, 17 Jul 2007) | 3 lines Added additional information to hard-error logging in exceptionReceived. Fully expanded imports ........ r556888 | ritchiem | 2007-07-17 12:33:08 +0100 (Tue, 17 Jul 2007) | 1 line Change to allow the management port to be specified on the command line, via -m or --mport ........ r556890 | ritchiem | 2007-07-17 12:38:10 +0100 (Tue, 17 Jul 2007) | 4 lines QPID-541 A large portion of memory was being wasted in 32k ByteBuffers being held by the AMQShortStrings. Patch submitted by Robert Godfrey to intern() the AMQSSs to reduce memory usage. Current implementation *will* impact performance due to the usage of a static Map for storage. However, a thread local implementation is in the works. ........ r556898 | rgodfrey | 2007-07-17 13:00:57 +0100 (Tue, 17 Jul 2007) | 1 line QPID-541 : Change to use threadlocal maps for intern for the common case to avoid excessive synchronization. In the uncommon case will require more lookup. ........ r556958 | rupertlssmith | 2007-07-17 17:22:16 +0100 (Tue, 17 Jul 2007) | 1 line Refactored the distributed test clients and coordinator to support different distribution and sequencing engines. ........ r556967 | rupertlssmith | 2007-07-17 17:40:14 +0100 (Tue, 17 Jul 2007) | 1 line Removed unused package. ........ r556968 | rupertlssmith | 2007-07-17 17:42:00 +0100 (Tue, 17 Jul 2007) | 1 line Retired old interop tests. ........ r556969 | rupertlssmith | 2007-07-17 17:43:49 +0100 (Tue, 17 Jul 2007) | 1 line Properties file not needed any more. Test properties all driven from MessagingTestConfigProperties. ........ r557276 | ritchiem | 2007-07-18 15:36:11 +0100 (Wed, 18 Jul 2007) | 1 line Updates to pom files and Licensing/Notice files for M2 release. ........ r557279 | ritchiem | 2007-07-18 15:51:42 +0100 (Wed, 18 Jul 2007) | 1 line This is left over from ANT ........ r557281 | ritchiem | 2007-07-18 15:54:06 +0100 (Wed, 18 Jul 2007) | 1 line updated comment to refelect property values ........ r557286 | ritchiem | 2007-07-18 16:02:22 +0100 (Wed, 18 Jul 2007) | 1 line Set default mvn build to assembly:assembly ........ r557288 | ritchiem | 2007-07-18 16:09:07 +0100 (Wed, 18 Jul 2007) | 1 line Ensure the top level release-docs directory is included in the builds ........ r557306 | ritchiem | 2007-07-18 17:01:58 +0100 (Wed, 18 Jul 2007) | 1 line Update fix incorrect license headers. ........ r557312 | ritchiem | 2007-07-18 17:07:01 +0100 (Wed, 18 Jul 2007) | 1 line added license ........ r557314 | ritchiem | 2007-07-18 17:11:17 +0100 (Wed, 18 Jul 2007) | 1 line added license ........ r557452 | aconway | 2007-07-19 03:03:02 +0100 (Thu, 19 Jul 2007) | 14 lines * lib/broker/Daemon.cpp, .h - Rewrote to remove libdaemon dependency. - PID file stored in /var/run if root, /tmp otherwise. * src/qpidd.cpp: Use new Daemon.cpp. - lock files stored in /var/run (for root) or /tmp. - updated to trunk daemon flag behavior. * lib/broker/Makefile.am (libqpidbroker_la_LIBADD): - Daemon.cpp now needs -lboost_iostreams * NOTICE, README: Removed mention of libdaemon. ........ r558027 | ritchiem | 2007-07-20 17:08:05 +0100 (Fri, 20 Jul 2007) | 1 line Added a logger but only used to control the toString inclusion of password. If in debug mode it will include password otherwise the password is "********". ........ r558072 | astitcher | 2007-07-20 18:49:41 +0100 (Fri, 20 Jul 2007) | 2 lines Fixed the license from the "old" apache copyright notice ........ r558083 | aconway | 2007-07-20 19:29:08 +0100 (Fri, 20 Jul 2007) | 2 lines Remove -ldaemon, we no longer require libdaemon. ........ r558099 | aconway | 2007-07-20 20:20:01 +0100 (Fri, 20 Jul 2007) | 2 lines Ignore QPID_ env variables that don't correspond to known options. ........ r558108 | cctrieloff | 2007-07-20 20:55:40 +0100 (Fri, 20 Jul 2007) | 2 lines typo fix ........ r558114 | rajith | 2007-07-20 21:11:03 +0100 (Fri, 20 Jul 2007) | 1 line added release notes ........ r558115 | rajith | 2007-07-20 21:12:20 +0100 (Fri, 20 Jul 2007) | 1 line Checking in the release notes ........ r558116 | aconway | 2007-07-20 21:16:20 +0100 (Fri, 20 Jul 2007) | 3 lines Removed .txt from RELEASE_NOTES Added RELEASE_NOTES to EXTRA_DIST in Makefile.am ........ r558168 | rajith | 2007-07-20 23:03:42 +0100 (Fri, 20 Jul 2007) | 1 line added release notes ........ r558170 | rajith | 2007-07-20 23:04:11 +0100 (Fri, 20 Jul 2007) | 1 line added release notes ........ r558630 | gsim | 2007-07-23 08:21:49 +0100 (Mon, 23 Jul 2007) | 3 lines Revised release notes: removed bug fixed on this branch, removed outstanding feature lists as it is not terribly accurate or helpful. ........ r559419 | rupertlssmith | 2007-07-25 13:17:59 +0100 (Wed, 25 Jul 2007) | 1 line Refactored interop tests into general distributed test framework. Moved framework under systests from integrationtests. ........ r559427 | ritchiem | 2007-07-25 13:40:24 +0100 (Wed, 25 Jul 2007) | 2 lines AMQMessage - added //todo-s and removed unused parameter StoreContext from expired() method call. ConcurrentSelectorDeliveryManager - Update to reflect expired() call change. Created new _reaperContextStore to be used when performing reaper operations such as message dequeue due to expiration. Removed old commented code. ........ r559455 | rupertlssmith | 2007-07-25 14:40:16 +0100 (Wed, 25 Jul 2007) | 1 line Added to comments. ........ r559456 | rupertlssmith | 2007-07-25 14:41:21 +0100 (Wed, 25 Jul 2007) | 1 line Removed redundant method. ........ r559458 | rupertlssmith | 2007-07-25 14:57:21 +0100 (Wed, 25 Jul 2007) | 1 line Refactored packaging of test framework. ........ r559461 | rupertlssmith | 2007-07-25 15:00:16 +0100 (Wed, 25 Jul 2007) | 1 line Removed redundant packages. ........ r559943 | rhs | 2007-07-26 20:15:17 +0100 (Thu, 26 Jul 2007) | 1 line adding missing ack ........ r559944 | rhs | 2007-07-26 20:15:44 +0100 (Thu, 26 Jul 2007) | 1 line removed old script ........ r560198 | ritchiem | 2007-07-27 12:30:34 +0100 (Fri, 27 Jul 2007) | 1 line Added files to ignore list ........ r560225 | ritchiem | 2007-07-27 14:33:50 +0100 (Fri, 27 Jul 2007) | 1 line Converted namespaces from Qpid.* to Apache.Qpid.* ........ r560471 | tomasr | 2007-07-28 03:35:41 +0100 (Sat, 28 Jul 2007) | 1 line Removed using directives causing compilation failure in .NET 1.1 ........ r561278 | ritchiem | 2007-07-31 10:07:57 +0100 (Tue, 31 Jul 2007) | 8 lines Changes to POMs. Client pom now builds a single jar with all dependancies included in the single bundle. systests/pom.xml adjusted to include only *Test.class items. This will fix the current Error on OptOutTestCase management/eclipse-plugin/pom.xml - editied to include there required MANIFEST.MF to identify plugin to eclipse distribution/src/main/assembly/management-eclipse-plugin.xml editied to include there required MANIFEST.MF to identify the plugin distribution/pom.xml - white space Also updated log4j.xml default to create an alert.log file from the AMQQueue alerting. Added a debug.log4j.xml that gives example of debugging the broker via log4j. ........ git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@561365 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/dotnet/Qpid.Client/Client')
-rw-r--r--qpid/dotnet/Qpid.Client/Client/AMQAuthenticationException.cs2
-rw-r--r--qpid/dotnet/Qpid.Client/Client/AMQConnection.cs67
-rw-r--r--qpid/dotnet/Qpid.Client/Client/AMQConnectionException.cs2
-rw-r--r--qpid/dotnet/Qpid.Client/Client/AMQDestination.cs2
-rw-r--r--qpid/dotnet/Qpid.Client/Client/AMQNoConsumersException.cs6
-rw-r--r--qpid/dotnet/Qpid.Client/Client/AMQNoRouteException.cs6
-rw-r--r--qpid/dotnet/Qpid.Client/Client/AmqBrokerInfo.cs4
-rw-r--r--qpid/dotnet/Qpid.Client/Client/AmqChannel.cs153
-rw-r--r--qpid/dotnet/Qpid.Client/Client/BasicMessageConsumer.cs10
-rw-r--r--qpid/dotnet/Qpid.Client/Client/BasicMessageProducer.cs10
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Closeable.cs2
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Configuration/AuthenticationConfigurationSectionHandler.cs8
-rw-r--r--qpid/dotnet/Qpid.Client/Client/ConnectionTuneParameters.cs3
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Failover/FailoverException.cs2
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Failover/FailoverHandler.cs7
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Failover/FailoverState.cs2
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Failover/FailoverSupport.cs2
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Handler/BasicDeliverMethodHandler.cs10
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Handler/BasicReturnMethodHandler.cs10
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Handler/ChannelCloseMethodHandler.cs11
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Handler/ConnectionCloseMethodHandler.cs10
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Handler/ConnectionCloseOkHandler.cs9
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Handler/ConnectionOpenOkMethodHandler.cs7
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Handler/ConnectionRedirectMethodHandler.cs7
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Handler/ConnectionSecureMethodHandler.cs11
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Handler/ConnectionStartMethodHandler.cs14
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Handler/ConnectionTuneMethodHandler.cs8
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Handler/QueueDeleteOkMethodHandler.cs10
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Handler/QueuePurgeOkMethodHandler.cs10
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Message/AMQMessage.cs4
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Message/AMQMessageFactory.cs6
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Message/AbstractQmsMessage.cs10
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Message/IMessageFactory.cs5
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Message/MessageFactoryRegistry.cs7
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Message/QpidBytesMessage.cs8
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Message/QpidBytesMessageFactory.cs7
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Message/QpidHeaders.cs6
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Message/QpidTextMessage.cs8
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Message/QpidTextMessageFactory.cs6
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Message/UnexpectedBodyReceivedException.cs3
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Message/UnprocessedMessage.cs5
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Protocol/AMQMethodEvent.cs5
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Protocol/AMQProtocolListener.cs10
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Protocol/AMQProtocolSession.cs10
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Protocol/DefaultTimeouts.cs2
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Protocol/IConnectionCloser.cs4
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Protocol/IProtocolListener.cs6
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Protocol/Listener/BlockingMethodFrameListener.cs4
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Protocol/Listener/IAMQMethodListener.cs3
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Protocol/Listener/SpecificMethodFrameListener.cs5
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Protocol/ProtocolWriter.cs9
-rw-r--r--qpid/dotnet/Qpid.Client/Client/QpidConnectionInfo.cs4
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Security/CallbackHandlerRegistry.cs12
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Security/IAMQCallbackHandler.cs7
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Security/UsernamePasswordCallbackHandler.cs6
-rw-r--r--qpid/dotnet/Qpid.Client/Client/SslOptions.cs2
-rw-r--r--qpid/dotnet/Qpid.Client/Client/State/AMQState.cs3
-rw-r--r--qpid/dotnet/Qpid.Client/Client/State/AMQStateChangedEvent.cs2
-rw-r--r--qpid/dotnet/Qpid.Client/Client/State/AMQStateManager.cs10
-rw-r--r--qpid/dotnet/Qpid.Client/Client/State/IAMQStateListener.cs3
-rw-r--r--qpid/dotnet/Qpid.Client/Client/State/IStateAwareMethodListener.cs5
-rw-r--r--qpid/dotnet/Qpid.Client/Client/State/IStateListener.cs3
-rw-r--r--qpid/dotnet/Qpid.Client/Client/State/IllegalStateTransitionException.cs3
-rw-r--r--qpid/dotnet/Qpid.Client/Client/State/StateWaiter.cs4
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/AMQProtocolProvider.cs8
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/AmqpChannel.cs11
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/IByteChannel.cs4
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/IProtocolChannel.cs2
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/IProtocolWriter.cs6
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/IStreamFilter.cs2
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/ITransport.cs6
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/IoHandler.cs6
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/ProtocolDecoderOutput.cs11
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/SingleProtocolEncoderOutput.cs8
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/BlockingSocketTransport.cs11
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/ByteChannel.cs6
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/ISocketConnector.cs5
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/SocketConnector.cs5
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/SslSocketConnector.cs4
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Util/FlowControlQueue.cs98
80 files changed, 504 insertions, 291 deletions
diff --git a/qpid/dotnet/Qpid.Client/Client/AMQAuthenticationException.cs b/qpid/dotnet/Qpid.Client/Client/AMQAuthenticationException.cs
index 68cacad1ef..6382eaaf39 100644
--- a/qpid/dotnet/Qpid.Client/Client/AMQAuthenticationException.cs
+++ b/qpid/dotnet/Qpid.Client/Client/AMQAuthenticationException.cs
@@ -21,7 +21,7 @@
using System;
using System.Runtime.Serialization;
-namespace Qpid.Client
+namespace Apache.Qpid.Client
{
[Serializable]
public class AMQAuthenticationException : AMQException
diff --git a/qpid/dotnet/Qpid.Client/Client/AMQConnection.cs b/qpid/dotnet/Qpid.Client/Client/AMQConnection.cs
index 4498ba3a32..d74cf6b5e4 100644
--- a/qpid/dotnet/Qpid.Client/Client/AMQConnection.cs
+++ b/qpid/dotnet/Qpid.Client/Client/AMQConnection.cs
@@ -24,17 +24,17 @@ using System.IO;
using System.Reflection;
using System.Threading;
using log4net;
-using Qpid.Client.Failover;
-using Qpid.Client.Protocol;
-using Qpid.Client.Qms;
-using Qpid.Client.State;
-using Qpid.Client.Transport;
-using Qpid.Client.Transport.Socket.Blocking;
-using Qpid.Collections;
-using Qpid.Framing;
-using Qpid.Messaging;
-
-namespace Qpid.Client
+using Apache.Qpid.Client.Failover;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.Qms;
+using Apache.Qpid.Client.State;
+using Apache.Qpid.Client.Transport;
+using Apache.Qpid.Client.Transport.Socket.Blocking;
+using Apache.Qpid.Collections;
+using Apache.Qpid.Framing;
+using Apache.Qpid.Messaging;
+
+namespace Apache.Qpid.Client
{
public class AMQConnection : Closeable, IConnection
{
@@ -273,15 +273,17 @@ namespace Qpid.Client
private bool _transacted;
private AcknowledgeMode _acknowledgeMode;
- int _prefetch;
+ int _prefetchHigh;
+ int _prefetchLow;
AMQConnection _connection;
- public CreateChannelFailoverSupport(AMQConnection connection, bool transacted, AcknowledgeMode acknowledgeMode, int prefetch)
+ public CreateChannelFailoverSupport(AMQConnection connection, bool transacted, AcknowledgeMode acknowledgeMode, int prefetchHigh, int prefetchLow)
{
_connection = connection;
_transacted = transacted;
_acknowledgeMode = acknowledgeMode;
- _prefetch = prefetch;
+ _prefetchHigh = prefetchHigh;
+ _prefetchLow = prefetchLow;
}
protected override object operation()
@@ -297,14 +299,14 @@ namespace Qpid.Client
// open it, so that there is no window where we could receive data on the channel and not be set
// up to handle it appropriately.
AmqChannel channel = new AmqChannel(_connection,
- channelId, _transacted, _acknowledgeMode, _prefetch);
+ channelId, _transacted, _acknowledgeMode, _prefetchHigh, _prefetchLow);
_connection.ProtocolSession.AddSessionByChannel(channelId, channel);
_connection.RegisterSession(channelId, channel);
bool success = false;
try
{
- _connection.createChannelOverWire(channelId, (ushort)_prefetch, _transacted);
+ _connection.CreateChannelOverWire(channelId, _prefetchHigh, _prefetchLow, _transacted);
success = true;
}
catch (AMQException e)
@@ -334,11 +336,16 @@ namespace Qpid.Client
public IChannel CreateChannel(bool transacted, AcknowledgeMode acknowledgeMode)
{
- return CreateChannel(transacted, acknowledgeMode, AmqChannel.DEFAULT_PREFETCH);
+ return CreateChannel(transacted, acknowledgeMode, AmqChannel.DEFAULT_PREFETCH_HIGH_MARK);
}
public IChannel CreateChannel(bool transacted, AcknowledgeMode acknowledgeMode, int prefetch)
{
+ return CreateChannel(transacted, acknowledgeMode, prefetch, prefetch);
+ }
+
+ public IChannel CreateChannel(bool transacted, AcknowledgeMode acknowledgeMode, int prefetchHigh, int prefetchLow)
+ {
CheckNotClosed();
if (ChannelLimitReached())
{
@@ -347,7 +354,7 @@ namespace Qpid.Client
else
{
CreateChannelFailoverSupport operation =
- new CreateChannelFailoverSupport(this, transacted, acknowledgeMode, prefetch);
+ new CreateChannelFailoverSupport(this, transacted, acknowledgeMode, prefetchHigh, prefetchLow);
return (IChannel)operation.execute(this);
}
}
@@ -704,8 +711,8 @@ namespace Qpid.Client
/*
// Currently there is only one transport option - BlockingSocket.
- String assemblyName = "Qpid.Client.Transport.Socket.Blocking.dll";
- String transportType = "Qpid.Client.Transport.Socket.Blocking.BlockingSocketTransport";
+ String assemblyName = "Apache.Qpid.Client.Transport.Socket.Blocking.dll";
+ String transportType = "Apache.Qpid.Client.Transport.Socket.Blocking.BlockingSocketTransport";
// Load the transport assembly dynamically.
_transport = LoadTransportFromAssembly(brokerDetail.getHost(), brokerDetail.getPort(), assemblyName, transportType);
@@ -774,18 +781,23 @@ namespace Qpid.Client
foreach (AmqChannel channel in channels)
{
_protocolSession.AddSessionByChannel(channel.ChannelId, channel);
- ReopenChannel(channel.ChannelId, (ushort)channel.DefaultPrefetch, channel.Transacted);
+ ReopenChannel(
+ channel.ChannelId,
+ channel.DefaultPrefetchHigh,
+ channel.DefaultPrefetchLow,
+ channel.Transacted
+ );
channel.ReplayOnFailOver();
}
}
- private void ReopenChannel(ushort channelId, ushort prefetch, bool transacted)
+ private void ReopenChannel(ushort channelId, int prefetchHigh, int prefetchLow, bool transacted)
{
- _log.Debug(string.Format("Reopening channel id={0} prefetch={1} transacted={2}",
- channelId, prefetch, transacted));
+ _log.Debug(string.Format("Reopening channel id={0} prefetchHigh={1} prefetchLow={2} transacted={3}",
+ channelId, prefetchHigh, prefetchLow, transacted));
try
{
- createChannelOverWire(channelId, prefetch, transacted);
+ CreateChannelOverWire(channelId, prefetchHigh, prefetchLow, transacted);
}
catch (AMQException e)
{
@@ -795,7 +807,7 @@ namespace Qpid.Client
}
}
- void createChannelOverWire(ushort channelId, ushort prefetch, bool transacted)
+ void CreateChannelOverWire(ushort channelId, int prefetchHigh, int prefetchLow, bool transacted)
{
_protocolWriter.SyncWrite(ChannelOpenBody.CreateAMQFrame(channelId, null), typeof (ChannelOpenOkBody));
@@ -805,7 +817,8 @@ namespace Qpid.Client
{
// Basic.Qos frame appears to not be supported by OpenAMQ 1.0d.
_protocolWriter.SyncWrite(
- BasicQosBody.CreateAMQFrame(channelId, 0, prefetch, false),
+ BasicQosBody.CreateAMQFrame(
+ channelId, (uint)prefetchHigh, 0, false),
typeof (BasicQosOkBody));
}
diff --git a/qpid/dotnet/Qpid.Client/Client/AMQConnectionException.cs b/qpid/dotnet/Qpid.Client/Client/AMQConnectionException.cs
index a4caf02e2c..c8a48814bb 100644
--- a/qpid/dotnet/Qpid.Client/Client/AMQConnectionException.cs
+++ b/qpid/dotnet/Qpid.Client/Client/AMQConnectionException.cs
@@ -21,7 +21,7 @@
using System;
using System.Runtime.Serialization;
-namespace Qpid.Client
+namespace Apache.Qpid.Client
{
[Serializable]
public class AMQConnectionException : AMQException
diff --git a/qpid/dotnet/Qpid.Client/Client/AMQDestination.cs b/qpid/dotnet/Qpid.Client/Client/AMQDestination.cs
index e2c4778a28..07ce3c2354 100644
--- a/qpid/dotnet/Qpid.Client/Client/AMQDestination.cs
+++ b/qpid/dotnet/Qpid.Client/Client/AMQDestination.cs
@@ -20,7 +20,7 @@
*/
using System;
-namespace Qpid.Client
+namespace Apache.Qpid.Client
{
public abstract class AMQDestination
{
diff --git a/qpid/dotnet/Qpid.Client/Client/AMQNoConsumersException.cs b/qpid/dotnet/Qpid.Client/Client/AMQNoConsumersException.cs
index ec5944bdac..0d93176734 100644
--- a/qpid/dotnet/Qpid.Client/Client/AMQNoConsumersException.cs
+++ b/qpid/dotnet/Qpid.Client/Client/AMQNoConsumersException.cs
@@ -20,10 +20,10 @@
*/
using System;
using System.Runtime.Serialization;
-using Qpid.Common;
-using Qpid.Protocol;
+using Apache.Qpid.Common;
+using Apache.Qpid.Protocol;
-namespace Qpid.Client
+namespace Apache.Qpid.Client
{
[Serializable]
public class AMQNoConsumersException : AMQUndeliveredException
diff --git a/qpid/dotnet/Qpid.Client/Client/AMQNoRouteException.cs b/qpid/dotnet/Qpid.Client/Client/AMQNoRouteException.cs
index 8f0db1c3d5..bde3cdd989 100644
--- a/qpid/dotnet/Qpid.Client/Client/AMQNoRouteException.cs
+++ b/qpid/dotnet/Qpid.Client/Client/AMQNoRouteException.cs
@@ -20,10 +20,10 @@
*/
using System;
using System.Runtime.Serialization;
-using Qpid.Common;
-using Qpid.Protocol;
+using Apache.Qpid.Common;
+using Apache.Qpid.Protocol;
-namespace Qpid.Client
+namespace Apache.Qpid.Client
{
[Serializable]
public class AMQNoRouteException : AMQUndeliveredException
diff --git a/qpid/dotnet/Qpid.Client/Client/AmqBrokerInfo.cs b/qpid/dotnet/Qpid.Client/Client/AmqBrokerInfo.cs
index 90e3788f5a..591c5b941f 100644
--- a/qpid/dotnet/Qpid.Client/Client/AmqBrokerInfo.cs
+++ b/qpid/dotnet/Qpid.Client/Client/AmqBrokerInfo.cs
@@ -21,9 +21,9 @@
using System;
using System.Collections;
using System.Text;
-using Qpid.Client.Qms;
+using Apache.Qpid.Client.Qms;
-namespace Qpid.Client
+namespace Apache.Qpid.Client
{
public class AmqBrokerInfo : IBrokerInfo
{
diff --git a/qpid/dotnet/Qpid.Client/Client/AmqChannel.cs b/qpid/dotnet/Qpid.Client/Client/AmqChannel.cs
index 9a8b9f787a..84f08729dd 100644
--- a/qpid/dotnet/Qpid.Client/Client/AmqChannel.cs
+++ b/qpid/dotnet/Qpid.Client/Client/AmqChannel.cs
@@ -23,14 +23,15 @@ using System.Collections;
using System.Text.RegularExpressions;
using System.Threading;
using log4net;
-using Qpid.Buffer;
-using Qpid.Client.Message;
-using Qpid.Collections;
-using Qpid.Framing;
-using Qpid.Messaging;
-using Qpid.Protocol;
-
-namespace Qpid.Client
+using Apache.Qpid.Buffer;
+using Apache.Qpid.Client.Message;
+using Apache.Qpid.Client.Util;
+using Apache.Qpid.Collections;
+using Apache.Qpid.Framing;
+using Apache.Qpid.Messaging;
+using Apache.Qpid.Protocol;
+
+namespace Apache.Qpid.Client
{
public class AmqChannel : Closeable, IChannel
{
@@ -41,11 +42,14 @@ namespace Qpid.Client
private static int _nextSessionNumber = 0;
private int _sessionNumber;
+ private bool _suspended;
+ private object _suspensionLock = new object();
// Used in the consume method. We generate the consume tag on the client so that we can use the nowait feature.
private int _nextConsumerNumber = 1;
- internal const int DEFAULT_PREFETCH = MessageConsumerBuilder.DEFAULT_PREFETCH_HIGH;
+ public const int DEFAULT_PREFETCH_HIGH_MARK = 5000;
+ public const int DEFAULT_PREFETCH_LOW_MARK = 2500;
private AMQConnection _connection;
@@ -55,9 +59,10 @@ namespace Qpid.Client
private ushort _channelId;
- private int _defaultPrefetch = DEFAULT_PREFETCH;
+ private int _defaultPrefetchHighMark = DEFAULT_PREFETCH_HIGH_MARK;
+ private int _defaultPrefetchLowMark = DEFAULT_PREFETCH_LOW_MARK;
- private BlockingQueue _queue = new LinkedBlockingQueue();
+ private FlowControlQueue _queue;
private Dispatcher _dispatcher;
@@ -105,7 +110,7 @@ namespace Qpid.Client
{
UnprocessedMessage message;
- while (_stopped == 0 && (message = (UnprocessedMessage)_containingChannel._queue.DequeueBlocking()) != null)
+ while (_stopped == 0 && (message = (UnprocessedMessage)_containingChannel._queue.Dequeue()) != null)
{
//_queue.size()
DispatchMessage(message);
@@ -163,8 +168,9 @@ namespace Qpid.Client
/// <param name="channelId">The channel id.</param>
/// <param name="transacted">if set to <c>true</c> [transacted].</param>
/// <param name="acknowledgeMode">The acknowledge mode.</param>
- /// <param name="defaultPrefetch">Default prefetch value</param>
- internal AmqChannel(AMQConnection con, ushort channelId, bool transacted, AcknowledgeMode acknowledgeMode, int defaultPrefetch)
+ /// <param name="defaultPrefetchHigh">Default prefetch high value</param>
+ /// <param name="defaultPrefetchLow">Default prefetch low value</param>
+ internal AmqChannel(AMQConnection con, ushort channelId, bool transacted, AcknowledgeMode acknowledgeMode, int defaultPrefetchHigh, int defaultPrefetchLow)
: this()
{
_sessionNumber = Interlocked.Increment(ref _nextSessionNumber);
@@ -178,8 +184,26 @@ namespace Qpid.Client
_acknowledgeMode = acknowledgeMode;
}
_channelId = channelId;
+ _defaultPrefetchHighMark = defaultPrefetchHigh;
+ _defaultPrefetchLowMark = defaultPrefetchLow;
+
+ if ( _acknowledgeMode == AcknowledgeMode.NoAcknowledge )
+ {
+ _queue = new FlowControlQueue(
+ _defaultPrefetchLowMark, _defaultPrefetchHighMark,
+ new ThresholdMethod(OnPrefetchLowMark),
+ new ThresholdMethod(OnPrefetchHighMark)
+ );
+ } else
+ {
+ // low and upper are the same
+ _queue = new FlowControlQueue(
+ _defaultPrefetchHighMark, _defaultPrefetchHighMark,
+ null, null
+ );
+ }
}
-
+
private AmqChannel()
{
_messageFactoryRegistry = MessageFactoryRegistry.NewDefaultRegistry();
@@ -269,19 +293,30 @@ namespace Qpid.Client
public void Rollback()
{
- // FIXME: Fail over safety. Needs FailoverSupport?
- CheckNotClosed();
- CheckTransacted(); // throws IllegalOperationException if not a transacted session
-
- try
- {
- _connection.ConvenientProtocolWriter.SyncWrite(
- TxRollbackBody.CreateAMQFrame(_channelId), typeof(TxRollbackOkBody));
- }
- catch (AMQException e)
- {
- throw new QpidException("Failed to rollback", e);
- }
+ lock ( _suspensionLock )
+ {
+ CheckTransacted(); // throws IllegalOperationException if not a transacted session
+
+ try
+ {
+ bool suspended = IsSuspended;
+ if ( !suspended )
+ Suspend(true);
+
+ // todo: rollback dispatcher when TX support is added
+ //if ( _dispatcher != null )
+ // _dispatcher.Rollback();
+
+ _connection.ConvenientProtocolWriter.SyncWrite(
+ TxRollbackBody.CreateAMQFrame(_channelId), typeof(TxRollbackOkBody));
+
+ if ( !suspended )
+ Suspend(false);
+ } catch ( AMQException e )
+ {
+ throw new QpidException("Failed to rollback", e);
+ }
+ }
}
public override void Close()
@@ -539,21 +574,26 @@ namespace Qpid.Client
ReturnBouncedMessage(message);
} else
{
- _queue.EnqueueBlocking(message);
+ _queue.Enqueue(message);
}
}
public int DefaultPrefetch
{
- get
- {
- return _defaultPrefetch;
- }
- set
- {
- _defaultPrefetch = value;
- }
- }
+ get { return DefaultPrefetchHigh; }
+ }
+ public int DefaultPrefetchLow
+ {
+ get { return _defaultPrefetchLowMark; }
+ }
+ public int DefaultPrefetchHigh
+ {
+ get { return _defaultPrefetchHighMark; }
+ }
+ public bool IsSuspended
+ {
+ get { return _suspended; }
+ }
public ushort ChannelId
{
@@ -581,6 +621,7 @@ namespace Qpid.Client
internal void Stop()
{
+ Suspend(true);
if (_dispatcher != null)
{
_dispatcher.StopDispatcher();
@@ -883,7 +924,7 @@ namespace Qpid.Client
* @param multiple if true will acknowledge all messages up to and including the one specified by the
* delivery tag
*/
- public void AcknowledgeMessage(ulong deliveryTag, bool multiple)
+ internal void AcknowledgeMessage(ulong deliveryTag, bool multiple)
{
AMQFrame ackFrame = BasicAckBody.CreateAMQFrame(_channelId, deliveryTag, multiple);
if (_logger.IsDebugEnabled)
@@ -930,5 +971,39 @@ namespace Qpid.Client
}
}
+
+ private void OnPrefetchLowMark(int count)
+ {
+ if ( _acknowledgeMode == AcknowledgeMode.NoAcknowledge )
+ {
+ _logger.Warn("Below threshold(" + _defaultPrefetchLowMark + ") so unsuspending channel. Current value is " + count);
+ Suspend(false);
+ }
+ }
+ private void OnPrefetchHighMark(int count)
+ {
+ if ( _acknowledgeMode == AcknowledgeMode.NoAcknowledge )
+ {
+ _logger.Warn("Above threshold(" + _defaultPrefetchHighMark + ") so suspending channel. Current value is " + count);
+ Suspend(true);
+ }
+ }
+
+ private void Suspend(bool suspend)
+ {
+ lock ( _suspensionLock )
+ {
+ if ( _logger.IsDebugEnabled )
+ {
+ _logger.Debug("Setting channel flow : " + (suspend ? "suspended" : "unsuspended"));
+ }
+
+ _suspended = suspend;
+ AMQFrame frame = ChannelFlowBody.CreateAMQFrame(_channelId, !suspend);
+
+ Connection.ConvenientProtocolWriter.SyncWrite(frame, typeof(ChannelFlowOkBody));
+ }
+ }
+
}
}
diff --git a/qpid/dotnet/Qpid.Client/Client/BasicMessageConsumer.cs b/qpid/dotnet/Qpid.Client/Client/BasicMessageConsumer.cs
index 796a878eec..fd4ff79505 100644
--- a/qpid/dotnet/Qpid.Client/Client/BasicMessageConsumer.cs
+++ b/qpid/dotnet/Qpid.Client/Client/BasicMessageConsumer.cs
@@ -21,12 +21,12 @@
using System;
using System.Threading;
using log4net;
-using Qpid.Client.Message;
-using Qpid.Collections;
-using Qpid.Framing;
-using Qpid.Messaging;
+using Apache.Qpid.Client.Message;
+using Apache.Qpid.Collections;
+using Apache.Qpid.Framing;
+using Apache.Qpid.Messaging;
-namespace Qpid.Client
+namespace Apache.Qpid.Client
{
public class BasicMessageConsumer : Closeable, IMessageConsumer
{
diff --git a/qpid/dotnet/Qpid.Client/Client/BasicMessageProducer.cs b/qpid/dotnet/Qpid.Client/Client/BasicMessageProducer.cs
index c1af826102..ca6d2abee5 100644
--- a/qpid/dotnet/Qpid.Client/Client/BasicMessageProducer.cs
+++ b/qpid/dotnet/Qpid.Client/Client/BasicMessageProducer.cs
@@ -21,12 +21,12 @@
using System;
using System.Threading;
using log4net;
-using Qpid.Buffer;
-using Qpid.Client.Message;
-using Qpid.Messaging;
-using Qpid.Framing;
+using Apache.Qpid.Buffer;
+using Apache.Qpid.Client.Message;
+using Apache.Qpid.Messaging;
+using Apache.Qpid.Framing;
-namespace Qpid.Client
+namespace Apache.Qpid.Client
{
public class BasicMessageProducer : Closeable, IMessagePublisher
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Closeable.cs b/qpid/dotnet/Qpid.Client/Client/Closeable.cs
index 159f71ac08..d70f75ee6b 100644
--- a/qpid/dotnet/Qpid.Client/Client/Closeable.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Closeable.cs
@@ -20,7 +20,7 @@
*/
using System;
-namespace Qpid.Client
+namespace Apache.Qpid.Client
{
public abstract class Closeable
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Configuration/AuthenticationConfigurationSectionHandler.cs b/qpid/dotnet/Qpid.Client/Client/Configuration/AuthenticationConfigurationSectionHandler.cs
index 0d1fb73c31..ae9225a53a 100644
--- a/qpid/dotnet/Qpid.Client/Client/Configuration/AuthenticationConfigurationSectionHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Configuration/AuthenticationConfigurationSectionHandler.cs
@@ -25,10 +25,10 @@ using System.Collections.Specialized;
using System.Configuration;
using System.Text;
-using Qpid.Client.Security;
-using Qpid.Sasl.Mechanisms;
+using Apache.Qpid.Client.Security;
+using Apache.Qpid.Sasl.Mechanisms;
-namespace Qpid.Client.Configuration
+namespace Apache.Qpid.Client.Configuration
{
public class AuthenticationConfigurationSectionHandler
: IConfigurationSectionHandler
@@ -81,4 +81,4 @@ namespace Qpid.Client.Configuration
_keys.Remove(key);
}
}
-} // namespace Qpid.Client.Configuration
+} // namespace Apache.Qpid.Client.Configuration
diff --git a/qpid/dotnet/Qpid.Client/Client/ConnectionTuneParameters.cs b/qpid/dotnet/Qpid.Client/Client/ConnectionTuneParameters.cs
index 20f158f0ea..b21486bfa8 100644
--- a/qpid/dotnet/Qpid.Client/Client/ConnectionTuneParameters.cs
+++ b/qpid/dotnet/Qpid.Client/Client/ConnectionTuneParameters.cs
@@ -18,7 +18,7 @@
* under the License.
*
*/
-namespace Qpid.Client
+namespace Apache.Qpid.Client
{
public class ConnectionTuneParameters
{
@@ -80,3 +80,4 @@ namespace Qpid.Client
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Failover/FailoverException.cs b/qpid/dotnet/Qpid.Client/Client/Failover/FailoverException.cs
index e2bc5b8a71..7013746414 100644
--- a/qpid/dotnet/Qpid.Client/Client/Failover/FailoverException.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Failover/FailoverException.cs
@@ -21,7 +21,7 @@
using System;
using System.Runtime.Serialization;
-namespace Qpid.Client.Failover
+namespace Apache.Qpid.Client.Failover
{
/// <summary>
/// This exception is thrown when failover is taking place and we need to let other
diff --git a/qpid/dotnet/Qpid.Client/Client/Failover/FailoverHandler.cs b/qpid/dotnet/Qpid.Client/Client/Failover/FailoverHandler.cs
index dbd09da49c..83c69b7d25 100644
--- a/qpid/dotnet/Qpid.Client/Client/Failover/FailoverHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Failover/FailoverHandler.cs
@@ -21,10 +21,10 @@
using System;
using System.Threading;
using log4net;
-using Qpid.Client.Protocol;
-using Qpid.Client.State;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.State;
-namespace Qpid.Client.Failover
+namespace Apache.Qpid.Client.Failover
{
public class FailoverHandler
{
@@ -172,3 +172,4 @@ namespace Qpid.Client.Failover
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Failover/FailoverState.cs b/qpid/dotnet/Qpid.Client/Client/Failover/FailoverState.cs
index 04322eeed4..3058cdcd69 100644
--- a/qpid/dotnet/Qpid.Client/Client/Failover/FailoverState.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Failover/FailoverState.cs
@@ -18,7 +18,7 @@
* under the License.
*
*/
-namespace Qpid.Client.Failover
+namespace Apache.Qpid.Client.Failover
{
/// <summary>
/// Enumeration of failover states. Used to handle failover from within AMQProtocolHandler where MINA events need to be
diff --git a/qpid/dotnet/Qpid.Client/Client/Failover/FailoverSupport.cs b/qpid/dotnet/Qpid.Client/Client/Failover/FailoverSupport.cs
index 591c0b1d4f..afa5301f39 100644
--- a/qpid/dotnet/Qpid.Client/Client/Failover/FailoverSupport.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Failover/FailoverSupport.cs
@@ -20,7 +20,7 @@
*/
using log4net;
-namespace Qpid.Client.Failover
+namespace Apache.Qpid.Client.Failover
{
public abstract class FailoverSupport
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Handler/BasicDeliverMethodHandler.cs b/qpid/dotnet/Qpid.Client/Client/Handler/BasicDeliverMethodHandler.cs
index d6e196c8dd..def1e78e8c 100644
--- a/qpid/dotnet/Qpid.Client/Client/Handler/BasicDeliverMethodHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Handler/BasicDeliverMethodHandler.cs
@@ -19,12 +19,12 @@
*
*/
using log4net;
-using Qpid.Client.Message;
-using Qpid.Client.Protocol;
-using Qpid.Client.State;
-using Qpid.Framing;
+using Apache.Qpid.Client.Message;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.State;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Handler
+namespace Apache.Qpid.Client.Handler
{
public class BasicDeliverMethodHandler : IStateAwareMethodListener
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Handler/BasicReturnMethodHandler.cs b/qpid/dotnet/Qpid.Client/Client/Handler/BasicReturnMethodHandler.cs
index 0bd65a1ace..f413dfc9c6 100644
--- a/qpid/dotnet/Qpid.Client/Client/Handler/BasicReturnMethodHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Handler/BasicReturnMethodHandler.cs
@@ -19,12 +19,12 @@
*
*/
using log4net;
-using Qpid.Client.Message;
-using Qpid.Client.Protocol;
-using Qpid.Client.State;
-using Qpid.Framing;
+using Apache.Qpid.Client.Message;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.State;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Handler
+namespace Apache.Qpid.Client.Handler
{
public class BasicReturnMethodHandler : IStateAwareMethodListener
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Handler/ChannelCloseMethodHandler.cs b/qpid/dotnet/Qpid.Client/Client/Handler/ChannelCloseMethodHandler.cs
index 7f88dd8219..9ed09a0d01 100644
--- a/qpid/dotnet/Qpid.Client/Client/Handler/ChannelCloseMethodHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Handler/ChannelCloseMethodHandler.cs
@@ -19,12 +19,12 @@
*
*/
using log4net;
-using Qpid.Client.Protocol;
-using Qpid.Client.State;
-using Qpid.Protocol;
-using Qpid.Framing;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.State;
+using Apache.Qpid.Protocol;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Handler
+namespace Apache.Qpid.Client.Handler
{
public class ChannelCloseMethodHandler : IStateAwareMethodListener
{
@@ -65,3 +65,4 @@ namespace Qpid.Client.Handler
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionCloseMethodHandler.cs b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionCloseMethodHandler.cs
index dea5316d25..66cff3bc65 100644
--- a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionCloseMethodHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionCloseMethodHandler.cs
@@ -21,12 +21,12 @@
using System;
using System.Threading;
using log4net;
-using Qpid.Client.Protocol;
-using Qpid.Client.State;
-using Qpid.Framing;
-using Qpid.Protocol;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.State;
+using Apache.Qpid.Framing;
+using Apache.Qpid.Protocol;
-namespace Qpid.Client.Handler
+namespace Apache.Qpid.Client.Handler
{
public class ConnectionCloseMethodHandler : IStateAwareMethodListener
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionCloseOkHandler.cs b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionCloseOkHandler.cs
index bd8fac1127..038da15731 100644
--- a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionCloseOkHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionCloseOkHandler.cs
@@ -19,11 +19,11 @@
*
*/
using log4net;
-using Qpid.Client.Protocol;
-using Qpid.Client.State;
-using Qpid.Framing;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.State;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Handler
+namespace Apache.Qpid.Client.Handler
{
public class ConnectionCloseOkHandler : IStateAwareMethodListener
{
@@ -38,3 +38,4 @@ namespace Qpid.Client.Handler
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionOpenOkMethodHandler.cs b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionOpenOkMethodHandler.cs
index b43e2700f6..a12e4ead60 100644
--- a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionOpenOkMethodHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionOpenOkMethodHandler.cs
@@ -18,10 +18,10 @@
* under the License.
*
*/
-using Qpid.Client.Protocol;
-using Qpid.Client.State;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.State;
-namespace Qpid.Client.Handler
+namespace Apache.Qpid.Client.Handler
{
public class ConnectionOpenOkMethodHandler : IStateAwareMethodListener
{
@@ -32,3 +32,4 @@ namespace Qpid.Client.Handler
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionRedirectMethodHandler.cs b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionRedirectMethodHandler.cs
index 0639d66028..08cc580b17 100644
--- a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionRedirectMethodHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionRedirectMethodHandler.cs
@@ -19,10 +19,10 @@
*
*/
using log4net;
-using Qpid.Client.Protocol;
-using Qpid.Client.State;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.State;
-namespace Qpid.Client.Handler
+namespace Apache.Qpid.Client.Handler
{
public class ConnectionRedirectMethodHandler : IStateAwareMethodListener
{
@@ -65,3 +65,4 @@ namespace Qpid.Client.Handler
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionSecureMethodHandler.cs b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionSecureMethodHandler.cs
index fe123e6745..9333d4d0a6 100644
--- a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionSecureMethodHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionSecureMethodHandler.cs
@@ -18,12 +18,12 @@
* under the License.
*
*/
-using Qpid.Client.Protocol;
-using Qpid.Client.State;
-using Qpid.Framing;
-using Qpid.Sasl;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.State;
+using Apache.Qpid.Framing;
+using Apache.Qpid.Sasl;
-namespace Qpid.Client.Handler
+namespace Apache.Qpid.Client.Handler
{
public class ConnectionSecureMethodHandler : IStateAwareMethodListener
{
@@ -57,3 +57,4 @@ namespace Qpid.Client.Handler
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionStartMethodHandler.cs b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionStartMethodHandler.cs
index 3cb7c76e23..1710c19080 100644
--- a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionStartMethodHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionStartMethodHandler.cs
@@ -22,14 +22,14 @@ using System;
using System.Collections;
using System.Text;
using log4net;
-using Qpid.Client.Protocol;
-using Qpid.Client.Security;
-using Qpid.Client.State;
-using Qpid.Framing;
-using Qpid.Sasl;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.Security;
+using Apache.Qpid.Client.State;
+using Apache.Qpid.Framing;
+using Apache.Qpid.Sasl;
-namespace Qpid.Client.Handler
+namespace Apache.Qpid.Client.Handler
{
public class ConnectionStartMethodHandler : IStateAwareMethodListener
{
@@ -73,7 +73,7 @@ namespace Qpid.Client.Handler
stateManager.ChangeState(AMQState.CONNECTION_NOT_TUNED);
FieldTable clientProperties = new FieldTable();
- clientProperties["product"] = "Qpid.NET";
+ clientProperties["product"] = "Apache.Qpid.NET";
clientProperties["version"] = "1.0";
clientProperties["platform"] = GetFullSystemInfo();
AMQFrame frame = ConnectionStartOkBody.CreateAMQFrame(
diff --git a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionTuneMethodHandler.cs b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionTuneMethodHandler.cs
index afcbd26781..15a1d908b7 100644
--- a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionTuneMethodHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionTuneMethodHandler.cs
@@ -20,11 +20,11 @@
*/
using System;
using log4net;
-using Qpid.Client.Protocol;
-using Qpid.Client.State;
-using Qpid.Framing;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.State;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Handler
+namespace Apache.Qpid.Client.Handler
{
public class ConnectionTuneMethodHandler : IStateAwareMethodListener
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Handler/QueueDeleteOkMethodHandler.cs b/qpid/dotnet/Qpid.Client/Client/Handler/QueueDeleteOkMethodHandler.cs
index 9a67b69834..7290d758f8 100644
--- a/qpid/dotnet/Qpid.Client/Client/Handler/QueueDeleteOkMethodHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Handler/QueueDeleteOkMethodHandler.cs
@@ -19,12 +19,12 @@
*
*/
using log4net;
-using Qpid.Client.Message;
-using Qpid.Client.Protocol;
-using Qpid.Client.State;
-using Qpid.Framing;
+using Apache.Qpid.Client.Message;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.State;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Handler
+namespace Apache.Qpid.Client.Handler
{
public class QueueDeleteOkMethodHandler : IStateAwareMethodListener
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Handler/QueuePurgeOkMethodHandler.cs b/qpid/dotnet/Qpid.Client/Client/Handler/QueuePurgeOkMethodHandler.cs
index 59e7db34ab..8bde707b00 100644
--- a/qpid/dotnet/Qpid.Client/Client/Handler/QueuePurgeOkMethodHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Handler/QueuePurgeOkMethodHandler.cs
@@ -19,12 +19,12 @@
*
*/
using log4net;
-using Qpid.Client.Message;
-using Qpid.Client.Protocol;
-using Qpid.Client.State;
-using Qpid.Framing;
+using Apache.Qpid.Client.Message;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.State;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Handler
+namespace Apache.Qpid.Client.Handler
{
public class QueuePurgeOkMethodHandler : IStateAwareMethodListener
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Message/AMQMessage.cs b/qpid/dotnet/Qpid.Client/Client/Message/AMQMessage.cs
index a43eb028df..e58de2ab96 100644
--- a/qpid/dotnet/Qpid.Client/Client/Message/AMQMessage.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Message/AMQMessage.cs
@@ -18,9 +18,9 @@
* under the License.
*
*/
-using Qpid.Framing;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Message
+namespace Apache.Qpid.Client.Message
{
public class AMQMessage
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Message/AMQMessageFactory.cs b/qpid/dotnet/Qpid.Client/Client/Message/AMQMessageFactory.cs
index a7ee085a04..f352d62c11 100644
--- a/qpid/dotnet/Qpid.Client/Client/Message/AMQMessageFactory.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Message/AMQMessageFactory.cs
@@ -19,11 +19,11 @@
*
*/
using System.Collections;
-using Qpid.Framing;
+using Apache.Qpid.Framing;
using log4net;
-using Qpid.Buffer;
+using Apache.Qpid.Buffer;
-namespace Qpid.Client.Message
+namespace Apache.Qpid.Client.Message
{
public abstract class AbstractQmsMessageFactory : IMessageFactory
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Message/AbstractQmsMessage.cs b/qpid/dotnet/Qpid.Client/Client/Message/AbstractQmsMessage.cs
index 7a28d7a85f..19f59a4fc1 100644
--- a/qpid/dotnet/Qpid.Client/Client/Message/AbstractQmsMessage.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Message/AbstractQmsMessage.cs
@@ -22,11 +22,11 @@ using System;
using System.Collections;
using System.Text;
using log4net;
-using Qpid.Framing;
-using Qpid.Messaging;
-using Qpid.Buffer;
+using Apache.Qpid.Framing;
+using Apache.Qpid.Messaging;
+using Apache.Qpid.Buffer;
-namespace Qpid.Client.Message
+namespace Apache.Qpid.Client.Message
{
public abstract class AbstractQmsMessage : AMQMessage, IMessage
{
@@ -326,7 +326,7 @@ namespace Qpid.Client.Message
// is not specified. In our case, we only set the session field where client acknowledge mode is specified.
if (_channel != null)
{
- // we set multiple to true here since acknowledgement implies acknowledge of all previous messages
+ // we set multiple to true here since acknowledgement implies acknowledge of all count messages
// received on the session
_channel.AcknowledgeMessage((ulong)DeliveryTag, true);
}
diff --git a/qpid/dotnet/Qpid.Client/Client/Message/IMessageFactory.cs b/qpid/dotnet/Qpid.Client/Client/Message/IMessageFactory.cs
index cffc585067..bed379290f 100644
--- a/qpid/dotnet/Qpid.Client/Client/Message/IMessageFactory.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Message/IMessageFactory.cs
@@ -19,9 +19,9 @@
*
*/
using System.Collections;
-using Qpid.Framing;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Message
+namespace Apache.Qpid.Client.Message
{
public interface IMessageFactory
{
@@ -49,3 +49,4 @@ namespace Qpid.Client.Message
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Message/MessageFactoryRegistry.cs b/qpid/dotnet/Qpid.Client/Client/Message/MessageFactoryRegistry.cs
index f854a541fc..fdb5e14aa6 100644
--- a/qpid/dotnet/Qpid.Client/Client/Message/MessageFactoryRegistry.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Message/MessageFactoryRegistry.cs
@@ -20,10 +20,10 @@
*/
using System;
using System.Collections;
-using Qpid.Framing;
-using Qpid.Messaging;
+using Apache.Qpid.Framing;
+using Apache.Qpid.Messaging;
-namespace Qpid.Client.Message
+namespace Apache.Qpid.Client.Message
{
public class MessageFactoryRegistry
{
@@ -126,3 +126,4 @@ namespace Qpid.Client.Message
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Message/QpidBytesMessage.cs b/qpid/dotnet/Qpid.Client/Client/Message/QpidBytesMessage.cs
index cb504d1378..fb3efb1b0f 100644
--- a/qpid/dotnet/Qpid.Client/Client/Message/QpidBytesMessage.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Message/QpidBytesMessage.cs
@@ -22,11 +22,11 @@ using System;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
-using Qpid.Framing;
-using Qpid.Messaging;
-using Qpid.Buffer;
+using Apache.Qpid.Framing;
+using Apache.Qpid.Messaging;
+using Apache.Qpid.Buffer;
-namespace Qpid.Client.Message
+namespace Apache.Qpid.Client.Message
{
[Serializable]
class MessageEOFException : QpidException
diff --git a/qpid/dotnet/Qpid.Client/Client/Message/QpidBytesMessageFactory.cs b/qpid/dotnet/Qpid.Client/Client/Message/QpidBytesMessageFactory.cs
index e96c38cbac..3cc96cbddc 100644
--- a/qpid/dotnet/Qpid.Client/Client/Message/QpidBytesMessageFactory.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Message/QpidBytesMessageFactory.cs
@@ -20,10 +20,10 @@
*/
using System;
using System.Collections;
-using Qpid.Framing;
-using Qpid.Buffer;
+using Apache.Qpid.Framing;
+using Apache.Qpid.Buffer;
-namespace Qpid.Client.Message
+namespace Apache.Qpid.Client.Message
{
public class QpidBytesMessageFactory : AbstractQmsMessageFactory
{
@@ -72,3 +72,4 @@ namespace Qpid.Client.Message
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Message/QpidHeaders.cs b/qpid/dotnet/Qpid.Client/Client/Message/QpidHeaders.cs
index a258c82d15..d27c1df853 100644
--- a/qpid/dotnet/Qpid.Client/Client/Message/QpidHeaders.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Message/QpidHeaders.cs
@@ -1,10 +1,10 @@
using System;
using System.Collections;
using System.Text;
-using Qpid.Framing;
-using Qpid.Messaging;
+using Apache.Qpid.Framing;
+using Apache.Qpid.Messaging;
-namespace Qpid.Client.Message
+namespace Apache.Qpid.Client.Message
{
internal class QpidHeaders : IHeaders
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Message/QpidTextMessage.cs b/qpid/dotnet/Qpid.Client/Client/Message/QpidTextMessage.cs
index ae8bdb2074..24aef92aa5 100644
--- a/qpid/dotnet/Qpid.Client/Client/Message/QpidTextMessage.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Message/QpidTextMessage.cs
@@ -20,11 +20,11 @@
*/
using System;
using System.Text;
-using Qpid.Framing;
-using Qpid.Messaging;
-using Qpid.Buffer;
+using Apache.Qpid.Framing;
+using Apache.Qpid.Messaging;
+using Apache.Qpid.Buffer;
-namespace Qpid.Client.Message
+namespace Apache.Qpid.Client.Message
{
public class QpidTextMessage : AbstractQmsMessage, ITextMessage
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Message/QpidTextMessageFactory.cs b/qpid/dotnet/Qpid.Client/Client/Message/QpidTextMessageFactory.cs
index 4730fa56ad..79871e85ca 100644
--- a/qpid/dotnet/Qpid.Client/Client/Message/QpidTextMessageFactory.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Message/QpidTextMessageFactory.cs
@@ -18,10 +18,10 @@
* under the License.
*
*/
-using Qpid.Buffer;
-using Qpid.Framing;
+using Apache.Qpid.Buffer;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Message
+namespace Apache.Qpid.Client.Message
{
public class QpidTextMessageFactory : AbstractQmsMessageFactory
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Message/UnexpectedBodyReceivedException.cs b/qpid/dotnet/Qpid.Client/Client/Message/UnexpectedBodyReceivedException.cs
index a671f608d1..4317ef3474 100644
--- a/qpid/dotnet/Qpid.Client/Client/Message/UnexpectedBodyReceivedException.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Message/UnexpectedBodyReceivedException.cs
@@ -22,7 +22,7 @@ using System;
using System.Runtime.Serialization;
using log4net;
-namespace Qpid.Client.Message
+namespace Apache.Qpid.Client.Message
{
/// <summary>
/// Raised when a message body is received unexpectedly by the client. This typically occurs when the
@@ -54,3 +54,4 @@ namespace Qpid.Client.Message
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Message/UnprocessedMessage.cs b/qpid/dotnet/Qpid.Client/Client/Message/UnprocessedMessage.cs
index b64c8e1c27..d329712334 100644
--- a/qpid/dotnet/Qpid.Client/Client/Message/UnprocessedMessage.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Message/UnprocessedMessage.cs
@@ -19,9 +19,9 @@
*
*/
using System.Collections;
-using Qpid.Framing;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Message
+namespace Apache.Qpid.Client.Message
{
public class UnprocessedMessage
{
@@ -54,3 +54,4 @@ namespace Qpid.Client.Message
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Protocol/AMQMethodEvent.cs b/qpid/dotnet/Qpid.Client/Client/Protocol/AMQMethodEvent.cs
index ab40a83b3e..a7ce808862 100644
--- a/qpid/dotnet/Qpid.Client/Client/Protocol/AMQMethodEvent.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Protocol/AMQMethodEvent.cs
@@ -20,9 +20,9 @@
*/
using System;
using System.Text;
-using Qpid.Framing;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Protocol
+namespace Apache.Qpid.Client.Protocol
{
public class AMQMethodEvent
{
@@ -73,3 +73,4 @@ namespace Qpid.Client.Protocol
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Protocol/AMQProtocolListener.cs b/qpid/dotnet/Qpid.Client/Client/Protocol/AMQProtocolListener.cs
index 2bf9f9a4c1..326afbe613 100644
--- a/qpid/dotnet/Qpid.Client/Client/Protocol/AMQProtocolListener.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Protocol/AMQProtocolListener.cs
@@ -22,12 +22,12 @@ using System;
using System.Collections;
using System.Threading;
using log4net;
-using Qpid.Client.Failover;
-using Qpid.Client.Protocol.Listener;
-using Qpid.Client.State;
-using Qpid.Framing;
+using Apache.Qpid.Client.Failover;
+using Apache.Qpid.Client.Protocol.Listener;
+using Apache.Qpid.Client.State;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Protocol
+namespace Apache.Qpid.Client.Protocol
{
public class AMQProtocolListener : IProtocolListener
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Protocol/AMQProtocolSession.cs b/qpid/dotnet/Qpid.Client/Client/Protocol/AMQProtocolSession.cs
index 0ca443e3bb..e0fa22e7a3 100644
--- a/qpid/dotnet/Qpid.Client/Client/Protocol/AMQProtocolSession.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Protocol/AMQProtocolSession.cs
@@ -21,12 +21,12 @@
using System;
using System.Collections;
using log4net;
-using Qpid.Client.Message;
-using Qpid.Client.Transport;
-using Qpid.Framing;
-using Qpid.Sasl;
+using Apache.Qpid.Client.Message;
+using Apache.Qpid.Client.Transport;
+using Apache.Qpid.Framing;
+using Apache.Qpid.Sasl;
-namespace Qpid.Client.Protocol
+namespace Apache.Qpid.Client.Protocol
{
public class AMQProtocolSession
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Protocol/DefaultTimeouts.cs b/qpid/dotnet/Qpid.Client/Client/Protocol/DefaultTimeouts.cs
index 0638bf0704..6841b46f54 100644
--- a/qpid/dotnet/Qpid.Client/Client/Protocol/DefaultTimeouts.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Protocol/DefaultTimeouts.cs
@@ -22,7 +22,7 @@
using System;
using System.Text;
-namespace Qpid.Client.Protocol
+namespace Apache.Qpid.Client.Protocol
{
/// <summary>
/// Default timeout values for the protocol
diff --git a/qpid/dotnet/Qpid.Client/Client/Protocol/IConnectionCloser.cs b/qpid/dotnet/Qpid.Client/Client/Protocol/IConnectionCloser.cs
index be8a24a9f4..e3298200c4 100644
--- a/qpid/dotnet/Qpid.Client/Client/Protocol/IConnectionCloser.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Protocol/IConnectionCloser.cs
@@ -18,10 +18,10 @@
* under the License.
*
*/
-namespace Qpid.Client.Protocol
+namespace Apache.Qpid.Client.Protocol
{
public interface IConnectionCloser
{
void Close();
}
-} \ No newline at end of file
+}
diff --git a/qpid/dotnet/Qpid.Client/Client/Protocol/IProtocolListener.cs b/qpid/dotnet/Qpid.Client/Client/Protocol/IProtocolListener.cs
index 6ac8a7537e..3b53f015f8 100644
--- a/qpid/dotnet/Qpid.Client/Client/Protocol/IProtocolListener.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Protocol/IProtocolListener.cs
@@ -19,10 +19,10 @@
*
*/
using System;
-using Qpid.Client.Protocol.Listener;
-using Qpid.Framing;
+using Apache.Qpid.Client.Protocol.Listener;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Protocol
+namespace Apache.Qpid.Client.Protocol
{
public interface IProtocolListener
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Protocol/Listener/BlockingMethodFrameListener.cs b/qpid/dotnet/Qpid.Client/Client/Protocol/Listener/BlockingMethodFrameListener.cs
index a020efbf21..9cc9f8cee5 100644
--- a/qpid/dotnet/Qpid.Client/Client/Protocol/Listener/BlockingMethodFrameListener.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Protocol/Listener/BlockingMethodFrameListener.cs
@@ -20,9 +20,9 @@
*/
using System;
using System.Threading;
-using Qpid.Framing;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Protocol.Listener
+namespace Apache.Qpid.Client.Protocol.Listener
{
public abstract class BlockingMethodFrameListener : IAMQMethodListener
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Protocol/Listener/IAMQMethodListener.cs b/qpid/dotnet/Qpid.Client/Client/Protocol/Listener/IAMQMethodListener.cs
index db82eb1013..b5450d00f7 100644
--- a/qpid/dotnet/Qpid.Client/Client/Protocol/Listener/IAMQMethodListener.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Protocol/Listener/IAMQMethodListener.cs
@@ -20,7 +20,7 @@
*/
using System;
-namespace Qpid.Client.Protocol.Listener
+namespace Apache.Qpid.Client.Protocol.Listener
{
public interface IAMQMethodListener
{
@@ -43,3 +43,4 @@ namespace Qpid.Client.Protocol.Listener
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Protocol/Listener/SpecificMethodFrameListener.cs b/qpid/dotnet/Qpid.Client/Client/Protocol/Listener/SpecificMethodFrameListener.cs
index 65460a0c2e..8cdc1dbba9 100644
--- a/qpid/dotnet/Qpid.Client/Client/Protocol/Listener/SpecificMethodFrameListener.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Protocol/Listener/SpecificMethodFrameListener.cs
@@ -19,9 +19,9 @@
*
*/
using System;
-using Qpid.Framing;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Protocol.Listener
+namespace Apache.Qpid.Client.Protocol.Listener
{
public class SpecificMethodFrameListener : BlockingMethodFrameListener
{
@@ -39,3 +39,4 @@ namespace Qpid.Client.Protocol.Listener
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Protocol/ProtocolWriter.cs b/qpid/dotnet/Qpid.Client/Client/Protocol/ProtocolWriter.cs
index 0ef337501e..11918f1ea2 100644
--- a/qpid/dotnet/Qpid.Client/Client/Protocol/ProtocolWriter.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Protocol/ProtocolWriter.cs
@@ -19,13 +19,13 @@
*
*/
using System;
-using Qpid.Client.Protocol.Listener;
-using Qpid.Client.Transport;
-using Qpid.Framing;
+using Apache.Qpid.Client.Protocol.Listener;
+using Apache.Qpid.Client.Transport;
+using Apache.Qpid.Framing;
using log4net;
-namespace Qpid.Client.Protocol
+namespace Apache.Qpid.Client.Protocol
{
/// <summary>
/// A convenient interface to writing protocol frames.
@@ -104,3 +104,4 @@ namespace Qpid.Client.Protocol
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/QpidConnectionInfo.cs b/qpid/dotnet/Qpid.Client/Client/QpidConnectionInfo.cs
index d88683f7d5..ede8966f37 100644
--- a/qpid/dotnet/Qpid.Client/Client/QpidConnectionInfo.cs
+++ b/qpid/dotnet/Qpid.Client/Client/QpidConnectionInfo.cs
@@ -24,9 +24,9 @@ using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using log4net;
-using Qpid.Client.Qms;
+using Apache.Qpid.Client.Qms;
-namespace Qpid.Client
+namespace Apache.Qpid.Client
{
public class URLHelper
diff --git a/qpid/dotnet/Qpid.Client/Client/Security/CallbackHandlerRegistry.cs b/qpid/dotnet/Qpid.Client/Client/Security/CallbackHandlerRegistry.cs
index 546bcec35a..85be927ff4 100644
--- a/qpid/dotnet/Qpid.Client/Client/Security/CallbackHandlerRegistry.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Security/CallbackHandlerRegistry.cs
@@ -23,12 +23,12 @@ using System;
using System.Collections;
using System.Configuration;
using System.Text;
-using Qpid.Sasl;
-using Qpid.Sasl.Mechanisms;
+using Apache.Qpid.Sasl;
+using Apache.Qpid.Sasl.Mechanisms;
-using Qpid.Client.Configuration;
+using Apache.Qpid.Client.Configuration;
-namespace Qpid.Client.Security
+namespace Apache.Qpid.Client.Security
{
/// <summary>
@@ -55,12 +55,12 @@ namespace Qpid.Client.Security
/// <configuration>
/// <configSections>
/// <sectionGroup name="qpid.client">
- /// <section name="authentication" type="Qpid.Client.Configuration.AuthenticationConfigurationSectionHandler, Qpid.Client"/>
+ /// <section name="authentication" type="Apache.Qpid.Client.Configuration.AuthenticationConfigurationSectionHandler, Apache.Qpid.Client"/>
/// </sectionGroup>
/// </configSections>
/// <qpid.client>
/// <authentication>
- /// <add key="TEST" value="Qpid.Client.Tests.Security.TestCallbackHandler, Qpid.Client.Tests"/>
+ /// <add key="TEST" value="Apache.Qpid.Client.Tests.Security.TestCallbackHandler, Apache.Qpid.Client.Tests"/>
/// </authentication>
/// </qpid.client>
/// </configuration>
diff --git a/qpid/dotnet/Qpid.Client/Client/Security/IAMQCallbackHandler.cs b/qpid/dotnet/Qpid.Client/Client/Security/IAMQCallbackHandler.cs
index 6802b90cee..2560c1d96b 100644
--- a/qpid/dotnet/Qpid.Client/Client/Security/IAMQCallbackHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Security/IAMQCallbackHandler.cs
@@ -20,10 +20,10 @@
*/
using System;
using System.Text;
-using Qpid.Client.Protocol;
-using Qpid.Sasl;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Sasl;
-namespace Qpid.Client.Security
+namespace Apache.Qpid.Client.Security
{
public interface IAMQCallbackHandler : ISaslCallbackHandler
{
@@ -32,3 +32,4 @@ namespace Qpid.Client.Security
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Security/UsernamePasswordCallbackHandler.cs b/qpid/dotnet/Qpid.Client/Client/Security/UsernamePasswordCallbackHandler.cs
index a14139496c..489d4d1665 100644
--- a/qpid/dotnet/Qpid.Client/Client/Security/UsernamePasswordCallbackHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Security/UsernamePasswordCallbackHandler.cs
@@ -22,10 +22,10 @@
using System;
using System.Collections;
using System.Text;
-using Qpid.Client.Protocol;
-using Qpid.Sasl;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Sasl;
-namespace Qpid.Client.Security
+namespace Apache.Qpid.Client.Security
{
internal class UsernamePasswordCallbackHandler : IAMQCallbackHandler
{
diff --git a/qpid/dotnet/Qpid.Client/Client/SslOptions.cs b/qpid/dotnet/Qpid.Client/Client/SslOptions.cs
index a6488d99ea..d637101000 100644
--- a/qpid/dotnet/Qpid.Client/Client/SslOptions.cs
+++ b/qpid/dotnet/Qpid.Client/Client/SslOptions.cs
@@ -21,7 +21,7 @@
using System;
using System.Security.Cryptography.X509Certificates;
-namespace Qpid.Client
+namespace Apache.Qpid.Client
{
/// <summary>
/// Configures SSL-related options to connect to an AMQP broker.
diff --git a/qpid/dotnet/Qpid.Client/Client/State/AMQState.cs b/qpid/dotnet/Qpid.Client/Client/State/AMQState.cs
index fc71fe647c..67f8427fb2 100644
--- a/qpid/dotnet/Qpid.Client/Client/State/AMQState.cs
+++ b/qpid/dotnet/Qpid.Client/Client/State/AMQState.cs
@@ -18,7 +18,7 @@
* under the License.
*
*/
-namespace Qpid.Client.State
+namespace Apache.Qpid.Client.State
{
public enum AMQState
{
@@ -32,3 +32,4 @@ namespace Qpid.Client.State
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/State/AMQStateChangedEvent.cs b/qpid/dotnet/Qpid.Client/Client/State/AMQStateChangedEvent.cs
index 60d44da824..a464bbb6f5 100644
--- a/qpid/dotnet/Qpid.Client/Client/State/AMQStateChangedEvent.cs
+++ b/qpid/dotnet/Qpid.Client/Client/State/AMQStateChangedEvent.cs
@@ -18,7 +18,7 @@
* under the License.
*
*/
-namespace Qpid.Client.State
+namespace Apache.Qpid.Client.State
{
public class AMQStateChangedEvent
{
diff --git a/qpid/dotnet/Qpid.Client/Client/State/AMQStateManager.cs b/qpid/dotnet/Qpid.Client/Client/State/AMQStateManager.cs
index 9ce6d3c76a..881e01e697 100644
--- a/qpid/dotnet/Qpid.Client/Client/State/AMQStateManager.cs
+++ b/qpid/dotnet/Qpid.Client/Client/State/AMQStateManager.cs
@@ -21,12 +21,12 @@
using System;
using System.Collections;
using log4net;
-using Qpid.Client.Handler;
-using Qpid.Client.Protocol;
-using Qpid.Client.Protocol.Listener;
-using Qpid.Framing;
+using Apache.Qpid.Client.Handler;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.Protocol.Listener;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.State
+namespace Apache.Qpid.Client.State
{
public class AMQStateManager : IAMQMethodListener
{
diff --git a/qpid/dotnet/Qpid.Client/Client/State/IAMQStateListener.cs b/qpid/dotnet/Qpid.Client/Client/State/IAMQStateListener.cs
index ff27cd841e..31e4b5046d 100644
--- a/qpid/dotnet/Qpid.Client/Client/State/IAMQStateListener.cs
+++ b/qpid/dotnet/Qpid.Client/Client/State/IAMQStateListener.cs
@@ -18,7 +18,7 @@
* under the License.
*
*/
-namespace Qpid.Client.State
+namespace Apache.Qpid.Client.State
{
public interface IAMQStateListener
{
@@ -26,3 +26,4 @@ namespace Qpid.Client.State
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/State/IStateAwareMethodListener.cs b/qpid/dotnet/Qpid.Client/Client/State/IStateAwareMethodListener.cs
index 256fe1c3f3..0874f39665 100644
--- a/qpid/dotnet/Qpid.Client/Client/State/IStateAwareMethodListener.cs
+++ b/qpid/dotnet/Qpid.Client/Client/State/IStateAwareMethodListener.cs
@@ -18,9 +18,9 @@
* under the License.
*
*/
-using Qpid.Client.Protocol;
+using Apache.Qpid.Client.Protocol;
-namespace Qpid.Client.State
+namespace Apache.Qpid.Client.State
{
public interface IStateAwareMethodListener
{
@@ -28,3 +28,4 @@ namespace Qpid.Client.State
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/State/IStateListener.cs b/qpid/dotnet/Qpid.Client/Client/State/IStateListener.cs
index 6073b2bb0c..edd7382f93 100644
--- a/qpid/dotnet/Qpid.Client/Client/State/IStateListener.cs
+++ b/qpid/dotnet/Qpid.Client/Client/State/IStateListener.cs
@@ -20,7 +20,7 @@
*/
using System;
-namespace Qpid.Client.State
+namespace Apache.Qpid.Client.State
{
public interface IStateListener
{
@@ -30,3 +30,4 @@ namespace Qpid.Client.State
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/State/IllegalStateTransitionException.cs b/qpid/dotnet/Qpid.Client/Client/State/IllegalStateTransitionException.cs
index 86b625951e..81de622617 100644
--- a/qpid/dotnet/Qpid.Client/Client/State/IllegalStateTransitionException.cs
+++ b/qpid/dotnet/Qpid.Client/Client/State/IllegalStateTransitionException.cs
@@ -21,7 +21,7 @@
using System;
using System.Runtime.Serialization;
-namespace Qpid.Client.State
+namespace Apache.Qpid.Client.State
{
[Serializable]
public class IllegalStateTransitionException : AMQException
@@ -71,3 +71,4 @@ namespace Qpid.Client.State
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/State/StateWaiter.cs b/qpid/dotnet/Qpid.Client/Client/State/StateWaiter.cs
index 34667da744..e739d0cb44 100644
--- a/qpid/dotnet/Qpid.Client/Client/State/StateWaiter.cs
+++ b/qpid/dotnet/Qpid.Client/Client/State/StateWaiter.cs
@@ -20,10 +20,10 @@
*/
using System;
using System.Threading;
-using Qpid.Client.Protocol;
+using Apache.Qpid.Client.Protocol;
using log4net;
-namespace Qpid.Client.State
+namespace Apache.Qpid.Client.State
{
public class StateWaiter : IStateListener
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/AMQProtocolProvider.cs b/qpid/dotnet/Qpid.Client/Client/Transport/AMQProtocolProvider.cs
index 1024fa5575..dd0bb404cb 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/AMQProtocolProvider.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/AMQProtocolProvider.cs
@@ -18,11 +18,11 @@
* under the License.
*
*/
-using Qpid.Codec;
-using Qpid.Codec.Demux;
-using Qpid.Framing;
+using Apache.Qpid.Codec;
+using Apache.Qpid.Codec.Demux;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Transport
+namespace Apache.Qpid.Client.Transport
{
public class AMQProtocolProvider
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/AmqpChannel.cs b/qpid/dotnet/Qpid.Client/Client/Transport/AmqpChannel.cs
index e23037d1de..dc72846bbe 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/AmqpChannel.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/AmqpChannel.cs
@@ -21,12 +21,12 @@
using System;
using System.Collections;
using log4net;
-using Qpid.Buffer;
-using Qpid.Codec;
-using Qpid.Codec.Support;
-using Qpid.Framing;
+using Apache.Qpid.Buffer;
+using Apache.Qpid.Codec;
+using Apache.Qpid.Codec.Support;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Transport
+namespace Apache.Qpid.Client.Transport
{
public class AmqpChannel : IProtocolChannel
{
@@ -108,3 +108,4 @@ namespace Qpid.Client.Transport
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/IByteChannel.cs b/qpid/dotnet/Qpid.Client/Client/Transport/IByteChannel.cs
index 0f8f341d48..35806f2a6e 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/IByteChannel.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/IByteChannel.cs
@@ -19,9 +19,9 @@
*
*/
using System;
-using Qpid.Buffer;
+using Apache.Qpid.Buffer;
-namespace Qpid.Client.Transport
+namespace Apache.Qpid.Client.Transport
{
/// <summary>
/// Represents input/output channels that read
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/IProtocolChannel.cs b/qpid/dotnet/Qpid.Client/Client/Transport/IProtocolChannel.cs
index e4d4d2ed29..0b59ee8799 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/IProtocolChannel.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/IProtocolChannel.cs
@@ -21,7 +21,7 @@
using System;
using System.Collections;
-namespace Qpid.Client.Transport
+namespace Apache.Qpid.Client.Transport
{
public interface IProtocolChannel : IProtocolWriter
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/IProtocolWriter.cs b/qpid/dotnet/Qpid.Client/Client/Transport/IProtocolWriter.cs
index ac19977927..592dff3a19 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/IProtocolWriter.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/IProtocolWriter.cs
@@ -18,12 +18,12 @@
* under the License.
*
*/
-using Qpid.Framing;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Transport
+namespace Apache.Qpid.Client.Transport
{
public interface IProtocolWriter
{
void Write(IDataBlock o);
}
-} \ No newline at end of file
+}
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/IStreamFilter.cs b/qpid/dotnet/Qpid.Client/Client/Transport/IStreamFilter.cs
index 409b428c01..7195b3ab04 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/IStreamFilter.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/IStreamFilter.cs
@@ -20,7 +20,7 @@
*/
using System.IO;
-namespace Qpid.Client.Transport
+namespace Apache.Qpid.Client.Transport
{
/// <summary>
/// Defines a way to introduce an arbitrary filtering
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/ITransport.cs b/qpid/dotnet/Qpid.Client/Client/Transport/ITransport.cs
index 3d918693bc..693a9a9534 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/ITransport.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/ITransport.cs
@@ -18,10 +18,10 @@
* under the License.
*
*/
-using Qpid.Client.Qms;
-using Qpid.Client.Protocol;
+using Apache.Qpid.Client.Qms;
+using Apache.Qpid.Client.Protocol;
-namespace Qpid.Client.Transport
+namespace Apache.Qpid.Client.Transport
{
public interface ITransport : IConnectionCloser
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/IoHandler.cs b/qpid/dotnet/Qpid.Client/Client/Transport/IoHandler.cs
index 8d1f04f662..556f9631b3 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/IoHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/IoHandler.cs
@@ -22,10 +22,10 @@ using System;
using System.IO;
using System.Threading;
using log4net;
-using Qpid.Buffer;
-using Qpid.Client.Protocol;
+using Apache.Qpid.Buffer;
+using Apache.Qpid.Client.Protocol;
-namespace Qpid.Client.Transport
+namespace Apache.Qpid.Client.Transport
{
/// <summary>
/// Responsible for reading and writing
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/ProtocolDecoderOutput.cs b/qpid/dotnet/Qpid.Client/Client/Transport/ProtocolDecoderOutput.cs
index 07df62ea84..357aab0f45 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/ProtocolDecoderOutput.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/ProtocolDecoderOutput.cs
@@ -20,12 +20,12 @@
*/
using System;
using System.Threading;
-using Qpid.Client.Protocol;
-using Qpid.Codec;
-using Qpid.Framing;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Codec;
+using Apache.Qpid.Framing;
using log4net;
-namespace Qpid.Client.Transport
+namespace Apache.Qpid.Client.Transport
{
/// <summary>
/// <see cref="IProtocolDecoderOutput"/> implementation that forwards
@@ -55,5 +55,6 @@ namespace Qpid.Client.Transport
}
}
}
-} // namespace Qpid.Client.Transport
+} // namespace Apache.Qpid.Client.Transport
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/SingleProtocolEncoderOutput.cs b/qpid/dotnet/Qpid.Client/Client/Transport/SingleProtocolEncoderOutput.cs
index 5b5392769a..a1aa889ba0 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/SingleProtocolEncoderOutput.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/SingleProtocolEncoderOutput.cs
@@ -19,10 +19,10 @@
*
*/
using System;
-using Qpid.Buffer;
-using Qpid.Codec;
+using Apache.Qpid.Buffer;
+using Apache.Qpid.Codec;
-namespace Qpid.Client.Transport
+namespace Apache.Qpid.Client.Transport
{
public class SingleProtocolEncoderOutput : IProtocolEncoderOutput
{
@@ -37,4 +37,4 @@ namespace Qpid.Client.Transport
buffer = buf;
}
}
-} \ No newline at end of file
+}
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/BlockingSocketTransport.cs b/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/BlockingSocketTransport.cs
index 2895c75431..8a16f9a675 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/BlockingSocketTransport.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/BlockingSocketTransport.cs
@@ -22,12 +22,12 @@ using System;
using System.Collections;
using System.IO;
using System.Threading;
-using Qpid.Client.Qms;
-using Qpid.Client.Protocol;
-using Qpid.Codec;
-using Qpid.Framing;
+using Apache.Qpid.Client.Qms;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Codec;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Transport.Socket.Blocking
+namespace Apache.Qpid.Client.Transport.Socket.Blocking
{
/// <summary>
/// TCP Socket transport supporting both
@@ -147,3 +147,4 @@ namespace Qpid.Client.Transport.Socket.Blocking
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/ByteChannel.cs b/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/ByteChannel.cs
index ff2c301a91..077f69541f 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/ByteChannel.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/ByteChannel.cs
@@ -20,9 +20,9 @@
*/
using System;
using log4net;
-using Qpid.Buffer;
+using Apache.Qpid.Buffer;
-namespace Qpid.Client.Transport.Socket.Blocking
+namespace Apache.Qpid.Client.Transport.Socket.Blocking
{
class ByteChannel : IByteChannel
{
@@ -89,4 +89,4 @@ namespace Qpid.Client.Transport.Socket.Blocking
_lowerChannel.EndWrite(result);
}
}
-} \ No newline at end of file
+}
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/ISocketConnector.cs b/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/ISocketConnector.cs
index ac0dc37a16..3d5d2898cf 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/ISocketConnector.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/ISocketConnector.cs
@@ -20,9 +20,9 @@
*/
using System;
using System.IO;
-using Qpid.Client.Qms;
+using Apache.Qpid.Client.Qms;
-namespace Qpid.Client.Transport.Socket.Blocking
+namespace Apache.Qpid.Client.Transport.Socket.Blocking
{
interface ISocketConnector : IDisposable
{
@@ -31,3 +31,4 @@ namespace Qpid.Client.Transport.Socket.Blocking
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/SocketConnector.cs b/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/SocketConnector.cs
index a651413581..83f7287e9b 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/SocketConnector.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/SocketConnector.cs
@@ -21,9 +21,9 @@
using System.IO;
using System.Net;
using System.Net.Sockets;
-using Qpid.Client.Qms;
+using Apache.Qpid.Client.Qms;
-namespace Qpid.Client.Transport.Socket.Blocking
+namespace Apache.Qpid.Client.Transport.Socket.Blocking
{
/// <summary>
/// Implements a TCP connection over regular sockets.
@@ -68,3 +68,4 @@ namespace Qpid.Client.Transport.Socket.Blocking
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/SslSocketConnector.cs b/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/SslSocketConnector.cs
index 24c3f5bcb8..708edde48c 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/SslSocketConnector.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/SslSocketConnector.cs
@@ -21,12 +21,12 @@
using System.IO;
using System.Net;
using log4net;
-using Qpid.Client.Qms;
+using Apache.Qpid.Client.Qms;
using Org.Mentalis.Security.Ssl;
using MCertificate = Org.Mentalis.Security.Certificates.Certificate;
using MCertificateChain = Org.Mentalis.Security.Certificates.CertificateChain;
-namespace Qpid.Client.Transport.Socket.Blocking
+namespace Apache.Qpid.Client.Transport.Socket.Blocking
{
/// <summary>
/// Implements a TLS v1.0 connection using the Mentalis.org library
diff --git a/qpid/dotnet/Qpid.Client/Client/Util/FlowControlQueue.cs b/qpid/dotnet/Qpid.Client/Client/Util/FlowControlQueue.cs
new file mode 100644
index 0000000000..87bb2a2859
--- /dev/null
+++ b/qpid/dotnet/Qpid.Client/Client/Util/FlowControlQueue.cs
@@ -0,0 +1,98 @@
+/*
+ *
+ * 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.
+ *
+ */
+using System;
+using System.Collections;
+using System.Text;
+using System.Threading;
+using Apache.Qpid.Collections;
+using Apache.Qpid.Common;
+
+namespace Apache.Qpid.Client.Util
+{
+ internal delegate void ThresholdMethod(int currentCount);
+
+ /// <summary>
+ /// Basic bounded queue used to implement prefetching.
+ /// Notice we do the callbacks here asynchronously to
+ /// avoid adding more complexity to the channel impl.
+ /// </summary>
+ internal class FlowControlQueue
+ {
+ private BlockingQueue _queue = new LinkedBlockingQueue();
+ private int _itemCount;
+ private int _lowerBound;
+ private int _upperBound;
+ private ThresholdMethod _underThreshold;
+ private ThresholdMethod _overThreshold;
+
+ public FlowControlQueue(
+ int lowerBound,
+ int upperBound,
+ ThresholdMethod underThreshold,
+ ThresholdMethod overThreshold
+ )
+ {
+ _lowerBound = lowerBound;
+ _upperBound = upperBound;
+ _underThreshold = underThreshold;
+ _overThreshold = overThreshold;
+ }
+
+ public void Enqueue(object item)
+ {
+ _queue.EnqueueBlocking(item);
+ int count = Interlocked.Increment(ref _itemCount);
+ if ( _overThreshold != null )
+ {
+ if ( count == _upperBound )
+ {
+ _overThreshold.BeginInvoke(
+ count, new AsyncCallback(OnAsyncCallEnd),
+ _overThreshold
+ );
+ }
+ }
+ }
+
+ public object Dequeue()
+ {
+ object item = _queue.DequeueBlocking();
+ int count = Interlocked.Decrement(ref _itemCount);
+ if ( _underThreshold != null )
+ {
+ if ( count == _lowerBound )
+ {
+ _underThreshold.BeginInvoke(
+ count, new AsyncCallback(OnAsyncCallEnd),
+ _underThreshold
+ );
+ }
+ }
+ return item;
+ }
+
+ private void OnAsyncCallEnd(IAsyncResult res)
+ {
+ ThresholdMethod method = (ThresholdMethod)res.AsyncState;
+ method.EndInvoke(res);
+ }
+ }
+}