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/