[prev in list] [next in list] [prev in thread] [next in thread]
List: activemq-dev
Subject: Re: svn commit: r390200 - in /incubator/activemq/trunk: activemq-core/src/main/java/org/apache/activ
From: "James Strachan" <james.strachan () gmail ! com>
Date: 2006-03-30 18:16:00
Message-ID: ec6e67fd0603301016m5485d13cy70b3a5a98329fbc9 () mail ! gmail ! com
[Download RAW message or body]
Cool! I was going to suggest we make that change so that we can use
commandId counters on the KeepAliveInfo packets - so when we send them
we can help detect missed packets near time of inactivity when using
UDP/multicast etc.
James
On 3/30/06, chirino@apache.org <chirino@apache.org> wrote:
> Author: chirino
> Date: Thu Mar 30 10:06:06 2006
> New Revision: 390200
>
> URL: http://svn.apache.org/viewcvs?rev=390200&view=rev
> Log:
> Changed the KeepAliveInfo packet so that it extends BaseCommand so that a reply can \
> be requested. Should will allow for a broker or a client to get almost imediate \
> feedback to see if the connection is down.
>
> Modified:
> incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/command/KeepAliveInfo.java
> incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v1/KeepAliveInfoMarshaller.java
> incubator/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v1/KeepAliveInfoTest.java
> incubator/activemq/trunk/activemq-dotnet/src/main/csharp/ActiveMQ/Commands/KeepAliveInfo.cs
> incubator/activemq/trunk/activemq-dotnet/src/main/csharp/ActiveMQ/OpenWire/V1/KeepAliveInfoMarshaller.cs
> incubator/activemq/trunk/openwire-c/src/libopenwire/ow_commands_v1.c
> incubator/activemq/trunk/openwire-c/src/libopenwire/ow_commands_v1.h
> incubator/activemq/trunk/openwire-cpp/src/command/KeepAliveInfo.hpp
> incubator/activemq/trunk/openwire-cpp/src/marshal/KeepAliveInfoMarshaller.hpp
>
> Modified: incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/command/KeepAliveInfo.java
>
> URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/activemq-core/src/main/j \
> ava/org/apache/activemq/command/KeepAliveInfo.java?rev=390200&r1=390199&r2=390200&view=diff
> ==============================================================================
> --- incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/command/KeepAliveInfo.java \
> (original)
> +++ incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/command/KeepAliveInfo.java \
> Thu Mar 30 10:06:06 2006 @@ -23,7 +23,7 @@
> * @openwire:marshaller code="10"
> * @version $Revision$
> */
> -public class KeepAliveInfo implements Command {
> +public class KeepAliveInfo extends BaseCommand {
>
> public static final byte DATA_STRUCTURE_TYPE=CommandTypes.KEEP_ALIVE_INFO;
>
> @@ -32,20 +32,6 @@
>
> public byte getDataStructureType() {
> return DATA_STRUCTURE_TYPE;
> - }
> -
> - public void setCommandId(int value) {
> - }
> -
> - public int getCommandId() {
> - return 0;
> - }
> -
> - public void setResponseRequired(boolean responseRequired) {
> - }
> -
> - public boolean isResponseRequired() {
> - return false;
> }
>
> public boolean isResponse() {
>
> Modified: incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v1/KeepAliveInfoMarshaller.java
>
> URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/activemq-core/src/main/j \
> ava/org/apache/activemq/openwire/v1/KeepAliveInfoMarshaller.java?rev=390200&r1=390199&r2=390200&view=diff
> ==============================================================================
> --- incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v1/KeepAliveInfoMarshaller.java \
> (original)
> +++ incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/openwire/v1/KeepAliveInfoMarshaller.java \
> Thu Mar 30 10:06:06 2006 @@ -37,7 +37,7 @@
> *
> * @version $Revision$
> */
> -public class KeepAliveInfoMarshaller extends BaseDataStreamMarshaller {
> +public class KeepAliveInfoMarshaller extends BaseCommandMarshaller {
>
> /**
> * Return the type of Data Structure we marshal
>
> Modified: incubator/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v1/KeepAliveInfoTest.java
>
> URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/activemq-core/src/test/j \
> ava/org/apache/activemq/openwire/v1/KeepAliveInfoTest.java?rev=390200&r1=390199&r2=390200&view=diff
> ==============================================================================
> --- incubator/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v1/KeepAliveInfoTest.java \
> (original)
> +++ incubator/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/openwire/v1/KeepAliveInfoTest.java \
> Thu Mar 30 10:06:06 2006 @@ -35,7 +35,7 @@
> *
> * @version $Revision$
> */
> -public class KeepAliveInfoTest extends DataFileGeneratorTestSupport {
> +public class KeepAliveInfoTest extends BaseCommandTestSupport {
>
>
> public static KeepAliveInfoTest SINGLETON = new KeepAliveInfoTest();
>
> Modified: incubator/activemq/trunk/activemq-dotnet/src/main/csharp/ActiveMQ/Commands/KeepAliveInfo.cs
>
> URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/activemq-dotnet/src/main \
> /csharp/ActiveMQ/Commands/KeepAliveInfo.cs?rev=390200&r1=390199&r2=390200&view=diff \
> ==============================================================================
>
> --- incubator/activemq/trunk/activemq-dotnet/src/main/csharp/ActiveMQ/Commands/KeepAliveInfo.cs \
> (original)
> +++ incubator/activemq/trunk/activemq-dotnet/src/main/csharp/ActiveMQ/Commands/KeepAliveInfo.cs \
> Thu Mar 30 10:06:06 2006 @@ -32,7 +32,7 @@
> /// <summary>
> /// The ActiveMQ KeepAliveInfo Command
> /// </summary>
> - public class KeepAliveInfo : BaseDataStructure, Command
> + public class KeepAliveInfo : BaseCommand
> {
> public const byte ID_KeepAliveInfo = 10;
>
>
> Modified: incubator/activemq/trunk/activemq-dotnet/src/main/csharp/ActiveMQ/OpenWire/V1/KeepAliveInfoMarshaller.cs
>
> URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/activemq-dotnet/src/main \
> /csharp/ActiveMQ/OpenWire/V1/KeepAliveInfoMarshaller.cs?rev=390200&r1=390199&r2=390200&view=diff
> ==============================================================================
> --- incubator/activemq/trunk/activemq-dotnet/src/main/csharp/ActiveMQ/OpenWire/V1/KeepAliveInfoMarshaller.cs \
> (original)
> +++ incubator/activemq/trunk/activemq-dotnet/src/main/csharp/ActiveMQ/OpenWire/V1/KeepAliveInfoMarshaller.cs \
> Thu Mar 30 10:06:06 2006 @@ -34,7 +34,7 @@
> /// <summary>
> /// Marshalling code for Open Wire Format for KeepAliveInfo
> /// </summary>
> - class KeepAliveInfoMarshaller : BaseDataStreamMarshaller
> + class KeepAliveInfoMarshaller : BaseCommandMarshaller
> {
>
>
>
> Modified: incubator/activemq/trunk/openwire-c/src/libopenwire/ow_commands_v1.c
> URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-c/src/libopenwire/ow_commands_v1.c?rev=390200&r1=390199&r2=390200&view=diff
> ==============================================================================
> --- incubator/activemq/trunk/openwire-c/src/libopenwire/ow_commands_v1.c (original)
> +++ incubator/activemq/trunk/openwire-c/src/libopenwire/ow_commands_v1.c Thu Mar 30 \
> 10:06:06 2006 @@ -2223,20 +2223,20 @@
>
> apr_status_t ow_marshal1_KeepAliveInfo(ow_bit_buffer *buffer, ow_KeepAliveInfo \
> *object) {
> - ow_marshal1_DataStructure(buffer, (ow_DataStructure*)object);
> + ow_marshal1_BaseCommand(buffer, (ow_BaseCommand*)object);
>
> return APR_SUCCESS;
> }
> apr_status_t ow_marshal2_KeepAliveInfo(ow_byte_buffer *buffer, ow_bit_buffer \
> *bitbuffer, ow_KeepAliveInfo *object) {
> - ow_marshal2_DataStructure(buffer, bitbuffer, (ow_DataStructure*)object);
> + ow_marshal2_BaseCommand(buffer, bitbuffer, (ow_BaseCommand*)object);
>
> return APR_SUCCESS;
> }
>
> apr_status_t ow_unmarshal_KeepAliveInfo(ow_byte_array *buffer, ow_bit_buffer \
> *bitbuffer, ow_KeepAliveInfo *object, apr_pool_t *pool) {
> - ow_unmarshal_DataStructure(buffer, bitbuffer, (ow_DataStructure*)object, pool);
> + ow_unmarshal_BaseCommand(buffer, bitbuffer, (ow_BaseCommand*)object, pool);
>
> return APR_SUCCESS;
> }
> @@ -2384,6 +2384,7 @@
> case OW_DESTINATIONINFO_TYPE:
> case OW_SHUTDOWNINFO_TYPE:
> case OW_DATARESPONSE_TYPE:
> + case OW_KEEPALIVEINFO_TYPE:
> case OW_FLUSHCOMMAND_TYPE:
> case OW_MESSAGEDISPATCH_TYPE:
> case OW_ACTIVEMQMAPMESSAGE_TYPE:
>
> Modified: incubator/activemq/trunk/openwire-c/src/libopenwire/ow_commands_v1.h
> URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-c/src/libopenwire/ow_commands_v1.h?rev=390200&r1=390199&r2=390200&view=diff
> ==============================================================================
> --- incubator/activemq/trunk/openwire-c/src/libopenwire/ow_commands_v1.h (original)
> +++ incubator/activemq/trunk/openwire-c/src/libopenwire/ow_commands_v1.h Thu Mar 30 \
> 10:06:06 2006 @@ -653,6 +653,8 @@
> typedef struct ow_KeepAliveInfo {
>
> ow_byte structType;
> + ow_int commandId;
> + ow_boolean responseRequired;
>
> } ow_KeepAliveInfo;
> ow_KeepAliveInfo *ow_KeepAliveInfo_create(apr_pool_t *pool);
>
> Modified: incubator/activemq/trunk/openwire-cpp/src/command/KeepAliveInfo.hpp
> URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-cpp/src/command/KeepAliveInfo.hpp?rev=390200&r1=390199&r2=390200&view=diff
> ==============================================================================
> --- incubator/activemq/trunk/openwire-cpp/src/command/KeepAliveInfo.hpp (original)
> +++ incubator/activemq/trunk/openwire-cpp/src/command/KeepAliveInfo.hpp Thu Mar 30 \
> 10:06:06 2006 @@ -1 +1 @@
> -/*
> * Copyright 2006 The Apache Software Foundation or its licensors, as
> * applicable.
> *
> * Licensed under the Apache License, Version 2.0 (the "License");
> * you may not use this file except in compliance with the License.
> * You may obtain a copy of the License at
> *
> * 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.
> */
> #ifndef KeepAliveInfo_hpp_
> #define KeepAliveInfo_hpp_
>
> #include <string>
> #include "command/BaseDataStructure.hpp"
>
>
> #include "util/ifr/ap.hpp"
> #include "util/ifr/p.hpp"
>
> namespace apache
> {
> namespace activemq
> {
> namespace client
> {
> namespace command
> {
> using namespace ifr;
> using namespace std;
> using names
> pace apache::activemq::client;
>
> /*
> *
> * Marshalling code for Open Wire Format for KeepAliveInfo
> *
> *
> * NOTE!: This file is autogenerated - do not modify!
> * if you need to make a change, please see the Groovy scripts in the
> * activemq-core module
> *
> */
> class KeepAliveInfo : public BaseDataStructure
> {
> private:
>
> public:
> const static int TYPE = 10;
>
> public:
> KeepAliveInfo() ;
> virtual ~KeepAliveInfo() ;
>
> virtual int getCommandType() ;
>
>
> } ;
>
> /* namespace */
> }
> }
> }
> }
>
> #endif /*KeepAliveInfo_hpp_*/
> \ No newline at end of file
> +/*
> * Copyright 2006 The Apache Software Foundation or its licensors, as
> * applicable.
> *
> * Licensed under the Apache License, Version 2.0 (the "License");
> * you may not use this file except in compliance with the License.
> * You may obtain a copy of the License at
> *
> * 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.
> */
> #ifndef KeepAliveInfo_hpp_
> #define KeepAliveInfo_hpp_
>
> #include <string>
> #include "command/BaseCommand.hpp"
>
>
> #include "util/ifr/ap.hpp"
> #include "util/ifr/p.hpp"
>
> namespace apache
> {
> namespace activemq
> {
> namespace client
> {
> namespace command
> {
> using namespace ifr;
> using namespace std;
> using namespace a
> pache::activemq::client;
>
> /*
> *
> * Marshalling code for Open Wire Format for KeepAliveInfo
> *
> *
> * NOTE!: This file is autogenerated - do not modify!
> * if you need to make a change, please see the Groovy scripts in the
> * activemq-core module
> *
> */
> class KeepAliveInfo : public BaseCommand
> {
> private:
>
> public:
> const static int TYPE = 10;
>
> public:
> KeepAliveInfo() ;
> virtual ~KeepAliveInfo() ;
>
> virtual int getCommandType() ;
>
>
> } ;
>
> /* namespace */
> }
> }
> }
> }
>
> #endif /*KeepAliveInfo_hpp_*/
> \ No newline at end of file
>
> Modified: incubator/activemq/trunk/openwire-cpp/src/marshal/KeepAliveInfoMarshaller.hpp
>
> URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-cpp/src/marshal/KeepAliveInfoMarshaller.hpp?rev=390200&r1=390199&r2=390200&view=diff
> ==============================================================================
> --- incubator/activemq/trunk/openwire-cpp/src/marshal/KeepAliveInfoMarshaller.hpp \
> (original)
> +++ incubator/activemq/trunk/openwire-cpp/src/marshal/KeepAliveInfoMarshaller.hpp \
> Thu Mar 30 10:06:06 2006 @@ -1 +1 @@
> -/*
> * Copyright 2006 The Apache Software Foundation or its licensors, as
> * applicable.
> *
> * Licensed under the Apache License, Version 2.0 (the "License");
> * you may not use this file except in compliance with the License.
> * You may obtain a copy of the License at
> *
> * 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.
> */
> #ifndef KeepAliveInfoMarshaller_hpp_
> #define KeepAliveInfoMarshaller_hpp_
>
> #include <string>
>
> #include "command/IDataStructure.hpp"
>
> /* we could cut this down - for now include all possible headers */
> #include "command/BrokerId.hpp"
> #include "command/ConnectionId.hpp"
> #include "command/ConsumerId.hpp"
> #include "command/ProducerId.hpp"
> #include "comman
> d/SessionId.hpp"
>
> #include "io/BinaryReader.hpp"
> #include "io/BinaryWriter.hpp"
>
> #include "command/BaseDataStreamMarshaller.hpp"
> #include "util/ifr/p.hpp"
>
> #include "protocol/ProtocolFormat.hpp"
>
> namespace apache
> {
> namespace activemq
> {
> namespace client
> {
> namespace marshal
> {
> using namespace ifr ;
> using namespace apache::activemq::client::command;
> using namespace apache::activemq::client::io;
> using namespace apache::activemq::client::protocol;
>
> /*
> *
> */
> class KeepAliveInfoMarshaller : public BaseDataStreamMarshaller
> {
> public:
> KeepAliveInfoMarshaller() ;
> virtual ~KeepAliveInfoMarshaller() ;
>
> virtual IDataStructure* createCommand() ;
> virtual char getDataStructureType() ;
>
> virtual void unmarshal(ProtocolFormat& wireFormat, Object o, BinaryReader& dataIn, \
> BooleanStream& bs) ; virtual int marshal1(ProtocolFormat& wireFormat, Object& o, \
> BooleanStream& bs) ; virtual void marshal2(ProtocolFormat&
> wireFormat, Object& o, BinaryWriter& dataOut, BooleanStream& bs) ;
> } ;
>
> /* namespace */
> }
> }
> }
> }
> #endif /*KeepAliveInfoMarshaller_hpp_*/
> \ No newline at end of file
> +/*
> * Copyright 2006 The Apache Software Foundation or its licensors, as
> * applicable.
> *
> * Licensed under the Apache License, Version 2.0 (the "License");
> * you may not use this file except in compliance with the License.
> * You may obtain a copy of the License at
> *
> * 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.
> */
> #ifndef KeepAliveInfoMarshaller_hpp_
> #define KeepAliveInfoMarshaller_hpp_
>
> #include <string>
>
> #include "command/IDataStructure.hpp"
>
> /* we could cut this down - for now include all possible headers */
> #include "command/BrokerId.hpp"
> #include "command/ConnectionId.hpp"
> #include "command/ConsumerId.hpp"
> #include "command/ProducerId.hpp"
> #include "comman
> d/SessionId.hpp"
>
> #include "io/BinaryReader.hpp"
> #include "io/BinaryWriter.hpp"
>
> #include "command/BaseCommandMarshaller.hpp"
> #include "util/ifr/p.hpp"
>
> #include "protocol/ProtocolFormat.hpp"
>
> namespace apache
> {
> namespace activemq
> {
> namespace client
> {
> namespace marshal
> {
> using namespace ifr ;
> using namespace apache::activemq::client::command;
> using namespace apache::activemq::client::io;
> using namespace apache::activemq::client::protocol;
>
> /*
> *
> */
> class KeepAliveInfoMarshaller : public BaseCommandMarshaller
> {
> public:
> KeepAliveInfoMarshaller() ;
> virtual ~KeepAliveInfoMarshaller() ;
>
> virtual IDataStructure* createCommand() ;
> virtual char getDataStructureType() ;
>
> virtual void unmarshal(ProtocolFormat& wireFormat, Object o, BinaryReader& dataIn, \
> BooleanStream& bs) ; virtual int marshal1(ProtocolFormat& wireFormat, Object& o, \
> BooleanStream& bs) ; virtual void marshal2(ProtocolFormat& wireFo
> rmat, Object& o, BinaryWriter& dataOut, BooleanStream& bs) ;
> } ;
>
> /* namespace */
> }
> }
> }
> }
> #endif /*KeepAliveInfoMarshaller_hpp_*/
> \ No newline at end of file
>
>
>
--
James
-------
http://radio.weblogs.com/0112098/
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic