You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by James Strachan <ja...@gmail.com> on 2006/03/30 20:16:00 UTC
Re: svn commit: r390200 - in /incubator/activemq/trunk: activemq-core/src/main/java/org/apache/activemq/command/ activemq-core/src/main/java/org/apache/activemq/openwire/v1/ activemq-core/src/test/java/org/apache/activemq/openwire/v1/ activemq-dotnet
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 <ch...@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/java/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/java/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/java/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/