https://issues.apache.org/jira/browse/AMQNET-444
https://issues.apache.org/jira/browse/AMQNET-443
diff --git a/src/main/csharp/Commands/ConsumerInfo.cs b/src/main/csharp/Commands/ConsumerInfo.cs
index 79ab9cd..94f9fcb 100644
--- a/src/main/csharp/Commands/ConsumerInfo.cs
+++ b/src/main/csharp/Commands/ConsumerInfo.cs
@@ -40,6 +40,7 @@
int maximumPendingMessageLimit;
bool dispatchAsync;
string selector;
+ string clientId;
string subscriptionName;
bool noLocal;
bool exclusive;
@@ -81,6 +82,7 @@
"MaximumPendingMessageLimit = " + MaximumPendingMessageLimit + ", " +
"DispatchAsync = " + DispatchAsync + ", " +
"Selector = " + Selector + ", " +
+ "ClientId = " + ClientId + ", " +
"SubscriptionName = " + SubscriptionName + ", " +
"NoLocal = " + NoLocal + ", " +
"Exclusive = " + Exclusive + ", " +
@@ -136,6 +138,12 @@
set { this.selector = value; }
}
+ public string ClientId
+ {
+ get { return clientId; }
+ set { this.clientId = value; }
+ }
+
public string SubscriptionName
{
get { return subscriptionName; }
diff --git a/src/main/csharp/Commands/Message.cs b/src/main/csharp/Commands/Message.cs
index 1668bf0..4531622 100644
--- a/src/main/csharp/Commands/Message.cs
+++ b/src/main/csharp/Commands/Message.cs
@@ -65,6 +65,7 @@
BrokerId[] cluster;
long brokerInTime;
long brokerOutTime;
+ bool jMSXGroupFirstForConsumer;
private bool readOnlyMsgProperties;
private bool readOnlyMsgBody;
@@ -142,7 +143,8 @@
"Droppable = " + Droppable + ", " +
"Cluster = " + Cluster + ", " +
"BrokerInTime = " + BrokerInTime + ", " +
- "BrokerOutTime = " + BrokerOutTime + " ]";
+ "BrokerOutTime = " + BrokerOutTime + ", " +
+ "JMSXGroupFirstForConsumer = " + JMSXGroupFirstForConsumer + " ]";
}
public virtual int Size()
@@ -351,6 +353,12 @@
set { this.brokerOutTime = value; }
}
+ public bool JMSXGroupFirstForConsumer
+ {
+ get { return jMSXGroupFirstForConsumer; }
+ set { this.jMSXGroupFirstForConsumer = value; }
+ }
+
public virtual bool ReadOnlyProperties
{
get { return this.readOnlyMsgProperties; }
diff --git a/src/main/csharp/Commands/MessageId.cs b/src/main/csharp/Commands/MessageId.cs
index 3938c10..ff0ed59 100644
--- a/src/main/csharp/Commands/MessageId.cs
+++ b/src/main/csharp/Commands/MessageId.cs
@@ -32,6 +32,7 @@
{
public const byte ID_MESSAGEID = 110;
+ string textView;
ProducerId producerId;
long producerSequenceId;
long brokerSequenceId;
@@ -74,7 +75,21 @@
{
if(key == null)
{
- key = producerId.ToString() + ":" + producerSequenceId + ":" + brokerSequenceId;
+ if (!String.IsNullOrEmpty(textView))
+ {
+ if (textView.StartsWith("ID:"))
+ {
+ key = textView;
+ }
+ else
+ {
+ key = "ID:" + textView;
+ }
+ }
+ else
+ {
+ key = producerId.ToString() + ":" + producerSequenceId + ":" + brokerSequenceId;
+ }
}
return key;
@@ -97,6 +112,12 @@
producerId = new ProducerId(messageKey);
}
+ public string TextView
+ {
+ get { return textView; }
+ set { this.textView = value; }
+ }
+
public ProducerId ProducerId
{
get { return producerId; }
@@ -119,6 +140,7 @@
{
int answer = 0;
+ answer = (answer * 37) + HashCode(TextView);
answer = (answer * 37) + HashCode(ProducerId);
answer = (answer * 37) + HashCode(ProducerSequenceId);
answer = (answer * 37) + HashCode(BrokerSequenceId);
@@ -138,6 +160,10 @@
public virtual bool Equals(MessageId that)
{
+ if(!Equals(this.TextView, that.TextView))
+ {
+ return false;
+ }
if(!Equals(this.ProducerId, that.ProducerId))
{
return false;
diff --git a/src/main/csharp/Commands/NetworkBridgeFilter.cs b/src/main/csharp/Commands/NetworkBridgeFilter.cs
index d40f90e..766f633 100644
--- a/src/main/csharp/Commands/NetworkBridgeFilter.cs
+++ b/src/main/csharp/Commands/NetworkBridgeFilter.cs
@@ -31,8 +31,9 @@
{
public const byte ID_NETWORKBRIDGEFILTER = 91;
- int networkTTL;
BrokerId networkBrokerId;
+ int messageTTL;
+ int consumerTTL;
///
/// <summery>
@@ -54,14 +55,9 @@
public override string ToString()
{
return GetType().Name + "[ " +
- "NetworkTTL = " + NetworkTTL + ", " +
- "NetworkBrokerId = " + NetworkBrokerId + " ]";
- }
-
- public int NetworkTTL
- {
- get { return networkTTL; }
- set { this.networkTTL = value; }
+ "NetworkBrokerId = " + NetworkBrokerId + ", " +
+ "MessageTTL = " + MessageTTL + ", " +
+ "ConsumerTTL = " + ConsumerTTL + " ]";
}
public BrokerId NetworkBrokerId
@@ -70,6 +66,18 @@
set { this.networkBrokerId = value; }
}
+ public int MessageTTL
+ {
+ get { return messageTTL; }
+ set { this.messageTTL = value; }
+ }
+
+ public int ConsumerTTL
+ {
+ get { return consumerTTL; }
+ set { this.consumerTTL = value; }
+ }
+
};
}
diff --git a/src/main/csharp/Commands/TransactionInfo.cs b/src/main/csharp/Commands/TransactionInfo.cs
index b7dbe18..4e71710 100644
--- a/src/main/csharp/Commands/TransactionInfo.cs
+++ b/src/main/csharp/Commands/TransactionInfo.cs
@@ -105,7 +105,7 @@
/// <summery>
/// Allows a Visitor to visit this command and return a response to the
/// command based on the command type being visited. The command will call
- /// the proper ProcessXXX method in the visitor.
+ /// the proper processXXX method in the visitor.
/// </summery>
///
public override Response Visit(ICommandVisitor visitor)
diff --git a/src/main/csharp/Commands/XATransactionId.cs b/src/main/csharp/Commands/XATransactionId.cs
index 171f8bb..df7536b 100644
--- a/src/main/csharp/Commands/XATransactionId.cs
+++ b/src/main/csharp/Commands/XATransactionId.cs
@@ -15,6 +15,7 @@
* limitations under the License.
*/
+using System;
namespace Apache.NMS.ActiveMQ.Commands
{
@@ -54,10 +55,10 @@
///
public override string ToString()
{
- return GetType().Name + "[ " +
- "FormatId = " + FormatId + ", " +
- "GlobalTransactionId = " + GlobalTransactionId ?? System.Text.ASCIIEncoding.ASCII.GetString(GlobalTransactionId) + ", " +
- "BranchQualifier = " + BranchQualifier ?? System.Text.ASCIIEncoding.ASCII.GetString(BranchQualifier) + " ]";
+ return GetType().Name + "[ " +
+ "FormatId = " + FormatId + ", " +
+ "GlobalTransactionId = " + BitConverter.ToString(GlobalTransactionId).Replace("-", string.Empty) + ", " +
+ "BranchQualifier = " + System.Text.ASCIIEncoding.ASCII.GetString(BranchQualifier) + " ]";
}
public int FormatId
diff --git a/src/main/csharp/MessageConsumer.cs b/src/main/csharp/MessageConsumer.cs
index 3e4648f..3f9fd4d 100755
--- a/src/main/csharp/MessageConsumer.cs
+++ b/src/main/csharp/MessageConsumer.cs
@@ -139,6 +139,7 @@
this.info.Retroactive = session.Retroactive;
this.info.Exclusive = session.Exclusive;
this.info.Priority = session.Priority;
+ this.info.ClientId = session.Connection.ClientId;
// If the destination contained a URI query, then use it to set public properties
// on the ConsumerInfo
diff --git a/src/main/csharp/NetTxTransactionContext.cs b/src/main/csharp/NetTxTransactionContext.cs
index 0481173..e5869a2 100644
--- a/src/main/csharp/NetTxTransactionContext.cs
+++ b/src/main/csharp/NetTxTransactionContext.cs
@@ -1,611 +1,611 @@
-/*
- * 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.Generic;
-using System.Text;
-using System.Threading;
-using System.Transactions;
-using Apache.NMS.ActiveMQ.Commands;
-using Apache.NMS.ActiveMQ.Transactions;
-using Apache.NMS.Util;
-
-namespace Apache.NMS.ActiveMQ
-{
- public sealed class NetTxTransactionContext : TransactionContext, ISinglePhaseNotification
- {
- private const int XA_OK = 0;
- private const int XA_READONLY = 3;
-
- private Enlistment currentEnlistment;
-
- public NetTxTransactionContext(Session session) : base(session)
- {
- }
-
- public override bool InLocalTransaction
- {
- get { return this.transactionId != null && this.currentEnlistment == null; }
- }
-
- public override void Begin()
- {
- throw new IllegalStateException("Local Transactions not supported in NetTx resources");
- }
-
- public override void Commit()
- {
- throw new IllegalStateException("Local Transactions not supported in NetTx resources");
- }
-
- public override void Rollback()
- {
- throw new IllegalStateException("Local Transactions not supported in NetTx resources");
- }
-
- #region Transaction Members used when dealing with .NET System Transactions.
-
- // When DTC calls prepare we must then wait for either the TX to commit, rollback or
- // be canceled because its in doubt.
- private readonly ManualResetEvent dtcControlEvent = new ManualResetEvent(true);
-
- // Once the DTC calls prepare we lock this object and don't unlock it again until
- // the TX has either completed or terminated, the users of this class should use
- // this sync point when the TX is a DTC version as opposed to a local one.
- private readonly object syncObject = new Mutex();
-
- public enum TxState
- {
- None = 0, Active = 1, Pending = 2
- }
-
- private TxState netTxState = TxState.None;
-
- public object SyncRoot
- {
- get { return this.syncObject; }
- }
-
- public bool InNetTransaction
- {
- get { return this.transactionId != null && this.transactionId is XATransactionId; }
- }
-
- public TxState NetTxState
- {
- get
- {
- return this.netTxState;
- }
- }
-
- public WaitHandle DtcWaitHandle
- {
- get { return dtcControlEvent; }
- }
-
- public void Begin(Transaction transaction)
- {
- lock (syncObject)
- {
- dtcControlEvent.Reset();
-
- Tracer.Debug("Begin notification received");
-
- if (InNetTransaction)
- {
- throw new TransactionInProgressException("A Transaction is already in Progress");
- }
-
- try
- {
- Guid rmId = ResourceManagerGuid;
-
- // Enlist this object in the transaction.
- this.currentEnlistment =
- transaction.EnlistDurable(rmId, this, EnlistmentOptions.None);
-
- // In case of a exception in the current method the transaction will be rolled back.
- // Until Begin Transaction is completed we consider to be in a rollback scenario.
- this.netTxState = TxState.Pending;
-
- Tracer.Debug("Enlisted in Durable Transaction with RM Id: " + rmId);
-
- TransactionInformation txInfo = transaction.TransactionInformation;
-
- XATransactionId xaId = new XATransactionId();
- this.transactionId = xaId;
-
- if (txInfo.DistributedIdentifier != Guid.Empty)
- {
- xaId.GlobalTransactionId = txInfo.DistributedIdentifier.ToByteArray();
- xaId.BranchQualifier = Encoding.UTF8.GetBytes(Guid.NewGuid().ToString());
- }
- else
- {
- xaId.GlobalTransactionId = Encoding.UTF8.GetBytes(txInfo.LocalIdentifier);
- xaId.BranchQualifier = Encoding.UTF8.GetBytes(Guid.NewGuid().ToString());
- }
-
- // Now notify the broker that a new XA'ish transaction has started.
- TransactionInfo info = new TransactionInfo();
- info.ConnectionId = this.connection.ConnectionId;
- info.TransactionId = this.transactionId;
- info.Type = (int)TransactionType.Begin;
-
- this.session.Connection.Oneway(info);
-
- // Begin Transaction is completed successfully. Change to transaction active state now.
- this.netTxState = TxState.Active;
-
- SignalTransactionStarted();
-
- if (Tracer.IsDebugEnabled)
- {
- Tracer.Debug("Began XA'ish Transaction:" + xaId.GlobalTransactionId);
- }
- }
- catch (Exception)
- {
- // When in pending state the rollback will signal that a new transaction can be started. Otherwise do it here.
- if (netTxState != TxState.Pending)
- {
- netTxState = TxState.None;
- dtcControlEvent.Set();
- }
- throw;
- }
- }
- }
-
- public void Prepare(PreparingEnlistment preparingEnlistment)
- {
- lock (this.syncObject)
- {
- this.netTxState = TxState.Pending;
-
- try
- {
- Tracer.Debug("Prepare notification received for TX id: " + this.transactionId);
-
- BeforeEnd();
-
- // Before sending the request to the broker, log the recovery bits, if
- // this fails we can't prepare and the TX should be rolled back.
- RecoveryLogger.LogRecoveryInfo(this.transactionId as XATransactionId,
- preparingEnlistment.RecoveryInformation());
-
- // Inform the broker that work on the XA'sh TX Branch is complete.
- TransactionInfo info = new TransactionInfo();
- info.ConnectionId = this.connection.ConnectionId;
- info.TransactionId = this.transactionId;
- info.Type = (int)TransactionType.End;
-
- this.connection.CheckConnected();
- this.connection.SyncRequest(info);
-
- // Prepare the Transaction for commit.
- info.Type = (int)TransactionType.Prepare;
- IntegerResponse response = (IntegerResponse)this.connection.SyncRequest(info);
- if (response.Result == XA_READONLY)
- {
- Tracer.Debug("Transaction Prepare done and doesn't need a commit, TX id: " + this.transactionId);
-
- this.transactionId = null;
- this.currentEnlistment = null;
-
- // Read Only means there's nothing to recover because there was no
- // change on the broker.
- RecoveryLogger.LogRecovered(this.transactionId as XATransactionId);
-
- // if server responds that nothing needs to be done, then reply done.
- // otherwise the DTC will call Commit or Rollback but another transaction
- // can already be in progress and this one would be commited or rolled back
- // immediately.
- preparingEnlistment.Done();
-
- // Done so commit won't be called.
- AfterCommit();
-
- // A Read-Only TX is considered closed at this point, DTC won't call us again.
- this.dtcControlEvent.Set();
- }
- else
- {
- Tracer.Debug("Transaction Prepare succeeded TX id: " + this.transactionId);
-
- // If work finished correctly, reply prepared
- preparingEnlistment.Prepared();
- }
- }
- catch (Exception ex)
- {
- Tracer.DebugFormat("Transaction[{0}] Prepare failed with error: {1}",
- this.transactionId, ex.Message);
-
- AfterRollback();
- preparingEnlistment.ForceRollback();
- try
- {
- this.connection.OnException(ex);
- }
- catch (Exception error)
- {
- Tracer.Error(error.ToString());
- }
-
- this.currentEnlistment = null;
- this.transactionId = null;
- this.netTxState = TxState.None;
- this.dtcControlEvent.Set();
- }
- }
- }
-
- public void Commit(Enlistment enlistment)
- {
- lock (this.syncObject)
- {
- try
- {
- Tracer.Debug("Commit notification received for TX id: " + this.transactionId);
-
- if (this.transactionId != null)
- {
- // Now notify the broker that a new XA'ish transaction has completed.
- TransactionInfo info = new TransactionInfo();
- info.ConnectionId = this.connection.ConnectionId;
- info.TransactionId = this.transactionId;
- info.Type = (int)TransactionType.CommitTwoPhase;
-
- this.connection.CheckConnected();
- this.connection.SyncRequest(info);
-
- Tracer.Debug("Transaction Commit Done TX id: " + this.transactionId);
-
- RecoveryLogger.LogRecovered(this.transactionId as XATransactionId);
-
- // if server responds that nothing needs to be done, then reply done.
- enlistment.Done();
-
- AfterCommit();
- }
- }
- catch (Exception ex)
- {
- Tracer.DebugFormat("Transaction[{0}] Commit failed with error: {1}",
- this.transactionId, ex.Message);
- try
- {
- this.connection.OnException(ex);
- }
- catch (Exception error)
- {
- Tracer.Error(error.ToString());
- }
- }
- finally
- {
- this.currentEnlistment = null;
- this.transactionId = null;
- this.netTxState = TxState.None;
-
- CountDownLatch latch = this.recoveryComplete;
- if (latch != null)
- {
- latch.countDown();
- }
-
- this.dtcControlEvent.Set();
- }
- }
- }
-
- public void SinglePhaseCommit(SinglePhaseEnlistment enlistment)
- {
- lock (this.syncObject)
- {
- try
- {
- Tracer.Debug("Single Phase Commit notification received for TX id: " + this.transactionId);
-
- if (this.transactionId != null)
- {
- BeforeEnd();
-
- // Now notify the broker that a new XA'ish transaction has completed.
- TransactionInfo info = new TransactionInfo();
- info.ConnectionId = this.connection.ConnectionId;
- info.TransactionId = this.transactionId;
- info.Type = (int)TransactionType.CommitOnePhase;
-
- this.connection.CheckConnected();
- this.connection.SyncRequest(info);
-
- Tracer.Debug("Transaction Single Phase Commit Done TX id: " + this.transactionId);
-
- // if server responds that nothing needs to be done, then reply done.
- enlistment.Done();
-
- AfterCommit();
- }
- }
- catch (Exception ex)
- {
- Tracer.DebugFormat("Transaction[{0}] Single Phase Commit failed with error: {1}",
- this.transactionId, ex.Message);
- AfterRollback();
- enlistment.Done();
- try
- {
- this.connection.OnException(ex);
- }
- catch (Exception error)
- {
- Tracer.Error(error.ToString());
- }
- }
- finally
- {
- this.currentEnlistment = null;
- this.transactionId = null;
- this.netTxState = TxState.None;
-
- this.dtcControlEvent.Set();
- }
- }
- }
-
- public void Rollback(Enlistment enlistment)
- {
- lock (this.syncObject)
- {
- try
- {
- Tracer.Debug("Rollback notification received for TX id: " + this.transactionId);
-
- if (this.transactionId != null)
- {
- BeforeEnd();
-
- // Now notify the broker that a new XA'ish transaction has started.
- TransactionInfo info = new TransactionInfo();
- info.ConnectionId = this.connection.ConnectionId;
- info.TransactionId = this.transactionId;
- info.Type = (int)TransactionType.End;
-
- this.connection.CheckConnected();
- this.connection.SyncRequest(info);
-
- info.Type = (int)TransactionType.Rollback;
- this.connection.CheckConnected();
- this.connection.SyncRequest(info);
-
- Tracer.Debug("Transaction Rollback Done TX id: " + this.transactionId);
-
- RecoveryLogger.LogRecovered(this.transactionId as XATransactionId);
-
- // if server responds that nothing needs to be done, then reply done.
- enlistment.Done();
-
- AfterRollback();
- }
- }
- catch (Exception ex)
- {
- Tracer.DebugFormat("Transaction[{0}] Rollback failed with error: {1}",
- this.transactionId, ex.Message);
- AfterRollback();
- try
- {
- this.connection.OnException(ex);
- }
- catch (Exception error)
- {
- Tracer.Error(error.ToString());
- }
- }
- finally
- {
- this.currentEnlistment = null;
- this.transactionId = null;
- this.netTxState = TxState.None;
-
- CountDownLatch latch = this.recoveryComplete;
- if (latch != null)
- {
- latch.countDown();
- }
-
- this.dtcControlEvent.Set();
- }
- }
- }
-
- public void InDoubt(Enlistment enlistment)
- {
- lock (syncObject)
- {
- try
- {
- Tracer.Debug("In Doubt notification received for TX id: " + this.transactionId);
-
- BeforeEnd();
-
- // Now notify the broker that Rollback should be performed.
- TransactionInfo info = new TransactionInfo();
- info.ConnectionId = this.connection.ConnectionId;
- info.TransactionId = this.transactionId;
- info.Type = (int)TransactionType.End;
-
- this.connection.CheckConnected();
- this.connection.SyncRequest(info);
-
- info.Type = (int)TransactionType.Rollback;
- this.connection.CheckConnected();
- this.connection.SyncRequest(info);
-
- Tracer.Debug("InDoubt Transaction Rollback Done TX id: " + this.transactionId);
-
- RecoveryLogger.LogRecovered(this.transactionId as XATransactionId);
-
- // if server responds that nothing needs to be done, then reply done.
- enlistment.Done();
-
- AfterRollback();
- }
- finally
- {
- this.currentEnlistment = null;
- this.transactionId = null;
- this.netTxState = TxState.None;
-
- CountDownLatch latch = this.recoveryComplete;
- if (latch != null)
- {
- latch.countDown();
- }
-
- this.dtcControlEvent.Set();
- }
- }
- }
-
- #endregion
-
- #region Distributed Transaction Recovery Bits
-
- private volatile CountDownLatch recoveryComplete;
-
- /// <summary>
- /// Should be called from NetTxSession when created to check if any TX
- /// data is stored for recovery and whether the Broker has matching info
- /// stored. If an Transaction is found that belongs to this client and is
- /// still alive on the Broker it will be recovered, otherwise the stored
- /// data should be cleared.
- /// </summary>
- public void InitializeDtcTxContext()
- {
- // initialize the logger with the current Resource Manager Id
- RecoveryLogger.Initialize(ResourceManagerId);
-
- KeyValuePair<XATransactionId, byte[]>[] localRecoverables = RecoveryLogger.GetRecoverables();
- if (localRecoverables.Length == 0)
- {
- Tracer.Debug("Did not detect any open DTC transaction records on disk.");
- // No local data so anything stored on the broker can't be recovered here.
- return;
- }
-
- XATransactionId[] recoverables = TryRecoverBrokerTXIds();
- if (recoverables.Length == 0)
- {
- Tracer.Debug("Did not detect any recoverable transactions at Broker.");
- // Broker has no recoverable data so nothing to do here, delete the
- // old recovery log as its stale.
- RecoveryLogger.Purge();
- return;
- }
-
- List<KeyValuePair<XATransactionId, byte[]>> matches = new List<KeyValuePair<XATransactionId, byte[]>>();
-
- foreach (XATransactionId recoverable in recoverables)
- {
- foreach (KeyValuePair<XATransactionId, byte[]> entry in localRecoverables)
- {
- if (entry.Key.Equals(recoverable))
- {
- Tracer.DebugFormat("Found a matching TX on Broker to stored Id: {0} reenlisting.", entry.Key);
- matches.Add(entry);
- }
- }
- }
-
- if (matches.Count != 0)
- {
- this.recoveryComplete = new CountDownLatch(matches.Count);
-
- foreach (KeyValuePair<XATransactionId, byte[]> recoverable in matches)
- {
- this.transactionId = recoverable.Key;
- Tracer.Info("Reenlisting recovered TX with Id: " + this.transactionId);
- this.currentEnlistment =
- TransactionManager.Reenlist(ResourceManagerGuid, recoverable.Value, this);
- }
-
- this.recoveryComplete.await();
- Tracer.Debug("All Recovered TX enlistments Reports complete, Recovery Complete.");
- TransactionManager.RecoveryComplete(ResourceManagerGuid);
- return;
- }
-
- // The old recovery information doesn't match what's on the broker so we
- // should discard it as its stale now.
- RecoveryLogger.Purge();
- }
-
- private XATransactionId[] TryRecoverBrokerTXIds()
- {
- Tracer.Debug("Checking for Recoverable Transactions on Broker.");
-
- TransactionInfo info = new TransactionInfo();
- info.ConnectionId = this.session.Connection.ConnectionId;
- info.Type = (int)TransactionType.Recover;
-
- this.connection.CheckConnected();
- DataArrayResponse response = this.connection.SyncRequest(info) as DataArrayResponse;
-
- if (response != null && response.Data.Length > 0)
- {
- Tracer.DebugFormat("Broker reports there are {0} recoverable XA Transactions", response.Data.Length);
-
- List<XATransactionId> recovered = new List<XATransactionId>();
-
- foreach (DataStructure ds in response.Data)
- {
- XATransactionId xid = ds as XATransactionId;
- if (xid != null)
- {
- recovered.Add(xid);
- }
- }
-
- return recovered.ToArray();
- }
-
- return new XATransactionId[0];
- }
-
- #endregion
-
- internal IRecoveryLogger RecoveryLogger
- {
- get { return (this.connection as NetTxConnection).RecoveryPolicy.RecoveryLogger; }
- }
-
- internal string ResourceManagerId
- {
- get { return (this.connection as NetTxConnection).ResourceManagerGuid.ToString(); }
- }
-
- internal Guid ResourceManagerGuid
- {
- get { return (this.connection as NetTxConnection).ResourceManagerGuid; }
- }
-
- }
-}
+/*
+ * 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.Generic;
+using System.Text;
+using System.Threading;
+using System.Transactions;
+using Apache.NMS.ActiveMQ.Commands;
+using Apache.NMS.ActiveMQ.Transactions;
+using Apache.NMS.Util;
+
+namespace Apache.NMS.ActiveMQ
+{
+ public sealed class NetTxTransactionContext : TransactionContext, ISinglePhaseNotification
+ {
+ private const int XA_OK = 0;
+ private const int XA_READONLY = 3;
+
+ private Enlistment currentEnlistment;
+
+ public NetTxTransactionContext(Session session) : base(session)
+ {
+ }
+
+ public override bool InLocalTransaction
+ {
+ get { return this.transactionId != null && this.currentEnlistment == null; }
+ }
+
+ public override void Begin()
+ {
+ throw new IllegalStateException("Local Transactions not supported in NetTx resources");
+ }
+
+ public override void Commit()
+ {
+ throw new IllegalStateException("Local Transactions not supported in NetTx resources");
+ }
+
+ public override void Rollback()
+ {
+ throw new IllegalStateException("Local Transactions not supported in NetTx resources");
+ }
+
+ #region Transaction Members used when dealing with .NET System Transactions.
+
+ // When DTC calls prepare we must then wait for either the TX to commit, rollback or
+ // be canceled because its in doubt.
+ private readonly ManualResetEvent dtcControlEvent = new ManualResetEvent(true);
+
+ // Once the DTC calls prepare we lock this object and don't unlock it again until
+ // the TX has either completed or terminated, the users of this class should use
+ // this sync point when the TX is a DTC version as opposed to a local one.
+ private readonly object syncObject = new Mutex();
+
+ public enum TxState
+ {
+ None = 0, Active = 1, Pending = 2
+ }
+
+ private TxState netTxState = TxState.None;
+
+ public object SyncRoot
+ {
+ get { return this.syncObject; }
+ }
+
+ public bool InNetTransaction
+ {
+ get { return this.transactionId != null && this.transactionId is XATransactionId; }
+ }
+
+ public TxState NetTxState
+ {
+ get
+ {
+ return this.netTxState;
+ }
+ }
+
+ public WaitHandle DtcWaitHandle
+ {
+ get { return dtcControlEvent; }
+ }
+
+ public void Begin(Transaction transaction)
+ {
+ lock (syncObject)
+ {
+ dtcControlEvent.Reset();
+
+ Tracer.Debug("Begin notification received");
+
+ if (InNetTransaction)
+ {
+ throw new TransactionInProgressException("A Transaction is already in Progress");
+ }
+
+ try
+ {
+ Guid rmId = ResourceManagerGuid;
+
+ // Enlist this object in the transaction.
+ this.currentEnlistment =
+ transaction.EnlistDurable(rmId, this, EnlistmentOptions.None);
+
+ // In case of a exception in the current method the transaction will be rolled back.
+ // Until Begin Transaction is completed we consider to be in a rollback scenario.
+ this.netTxState = TxState.Pending;
+
+ Tracer.Debug("Enlisted in Durable Transaction with RM Id: " + rmId);
+
+ TransactionInformation txInfo = transaction.TransactionInformation;
+
+ XATransactionId xaId = new XATransactionId();
+ this.transactionId = xaId;
+
+ if (txInfo.DistributedIdentifier != Guid.Empty)
+ {
+ xaId.GlobalTransactionId = txInfo.DistributedIdentifier.ToByteArray();
+ xaId.BranchQualifier = Encoding.UTF8.GetBytes(Guid.NewGuid().ToString());
+ }
+ else
+ {
+ xaId.GlobalTransactionId = Encoding.UTF8.GetBytes(txInfo.LocalIdentifier);
+ xaId.BranchQualifier = Encoding.UTF8.GetBytes(Guid.NewGuid().ToString());
+ }
+
+ // Now notify the broker that a new XA'ish transaction has started.
+ TransactionInfo info = new TransactionInfo();
+ info.ConnectionId = this.connection.ConnectionId;
+ info.TransactionId = this.transactionId;
+ info.Type = (int)TransactionType.Begin;
+
+ this.session.Connection.Oneway(info);
+
+ // Begin Transaction is completed successfully. Change to transaction active state now.
+ this.netTxState = TxState.Active;
+
+ SignalTransactionStarted();
+
+ if (Tracer.IsDebugEnabled)
+ {
+ Tracer.Debug("Began XA'ish Transaction:" + xaId);
+ }
+ }
+ catch (Exception)
+ {
+ // When in pending state the rollback will signal that a new transaction can be started. Otherwise do it here.
+ if (netTxState != TxState.Pending)
+ {
+ netTxState = TxState.None;
+ dtcControlEvent.Set();
+ }
+ throw;
+ }
+ }
+ }
+
+ public void Prepare(PreparingEnlistment preparingEnlistment)
+ {
+ lock (this.syncObject)
+ {
+ this.netTxState = TxState.Pending;
+
+ try
+ {
+ Tracer.Debug("Prepare notification received for TX id: " + this.transactionId);
+
+ BeforeEnd();
+
+ // Before sending the request to the broker, log the recovery bits, if
+ // this fails we can't prepare and the TX should be rolled back.
+ RecoveryLogger.LogRecoveryInfo(this.transactionId as XATransactionId,
+ preparingEnlistment.RecoveryInformation());
+
+ // Inform the broker that work on the XA'sh TX Branch is complete.
+ TransactionInfo info = new TransactionInfo();
+ info.ConnectionId = this.connection.ConnectionId;
+ info.TransactionId = this.transactionId;
+ info.Type = (int)TransactionType.End;
+
+ this.connection.CheckConnected();
+ this.connection.SyncRequest(info);
+
+ // Prepare the Transaction for commit.
+ info.Type = (int)TransactionType.Prepare;
+ IntegerResponse response = (IntegerResponse)this.connection.SyncRequest(info);
+ if (response.Result == XA_READONLY)
+ {
+ Tracer.Debug("Transaction Prepare done and doesn't need a commit, TX id: " + this.transactionId);
+
+ this.transactionId = null;
+ this.currentEnlistment = null;
+
+ // Read Only means there's nothing to recover because there was no
+ // change on the broker.
+ RecoveryLogger.LogRecovered(this.transactionId as XATransactionId);
+
+ // if server responds that nothing needs to be done, then reply done.
+ // otherwise the DTC will call Commit or Rollback but another transaction
+ // can already be in progress and this one would be commited or rolled back
+ // immediately.
+ preparingEnlistment.Done();
+
+ // Done so commit won't be called.
+ AfterCommit();
+
+ // A Read-Only TX is considered closed at this point, DTC won't call us again.
+ this.dtcControlEvent.Set();
+ }
+ else
+ {
+ Tracer.Debug("Transaction Prepare succeeded TX id: " + this.transactionId);
+
+ // If work finished correctly, reply prepared
+ preparingEnlistment.Prepared();
+ }
+ }
+ catch (Exception ex)
+ {
+ Tracer.DebugFormat("Transaction[{0}] Prepare failed with error: {1}",
+ this.transactionId, ex.Message);
+
+ AfterRollback();
+ preparingEnlistment.ForceRollback();
+ try
+ {
+ this.connection.OnException(ex);
+ }
+ catch (Exception error)
+ {
+ Tracer.Error(error.ToString());
+ }
+
+ this.currentEnlistment = null;
+ this.transactionId = null;
+ this.netTxState = TxState.None;
+ this.dtcControlEvent.Set();
+ }
+ }
+ }
+
+ public void Commit(Enlistment enlistment)
+ {
+ lock (this.syncObject)
+ {
+ try
+ {
+ Tracer.Debug("Commit notification received for TX id: " + this.transactionId);
+
+ if (this.transactionId != null)
+ {
+ // Now notify the broker that a new XA'ish transaction has completed.
+ TransactionInfo info = new TransactionInfo();
+ info.ConnectionId = this.connection.ConnectionId;
+ info.TransactionId = this.transactionId;
+ info.Type = (int)TransactionType.CommitTwoPhase;
+
+ this.connection.CheckConnected();
+ this.connection.SyncRequest(info);
+
+ Tracer.Debug("Transaction Commit Done TX id: " + this.transactionId);
+
+ RecoveryLogger.LogRecovered(this.transactionId as XATransactionId);
+
+ // if server responds that nothing needs to be done, then reply done.
+ enlistment.Done();
+
+ AfterCommit();
+ }
+ }
+ catch (Exception ex)
+ {
+ Tracer.DebugFormat("Transaction[{0}] Commit failed with error: {1}",
+ this.transactionId, ex.Message);
+ try
+ {
+ this.connection.OnException(ex);
+ }
+ catch (Exception error)
+ {
+ Tracer.Error(error.ToString());
+ }
+ }
+ finally
+ {
+ this.currentEnlistment = null;
+ this.transactionId = null;
+ this.netTxState = TxState.None;
+
+ CountDownLatch latch = this.recoveryComplete;
+ if (latch != null)
+ {
+ latch.countDown();
+ }
+
+ this.dtcControlEvent.Set();
+ }
+ }
+ }
+
+ public void SinglePhaseCommit(SinglePhaseEnlistment enlistment)
+ {
+ lock (this.syncObject)
+ {
+ try
+ {
+ Tracer.Debug("Single Phase Commit notification received for TX id: " + this.transactionId);
+
+ if (this.transactionId != null)
+ {
+ BeforeEnd();
+
+ // Now notify the broker that a new XA'ish transaction has completed.
+ TransactionInfo info = new TransactionInfo();
+ info.ConnectionId = this.connection.ConnectionId;
+ info.TransactionId = this.transactionId;
+ info.Type = (int)TransactionType.CommitOnePhase;
+
+ this.connection.CheckConnected();
+ this.connection.SyncRequest(info);
+
+ Tracer.Debug("Transaction Single Phase Commit Done TX id: " + this.transactionId);
+
+ // if server responds that nothing needs to be done, then reply done.
+ enlistment.Done();
+
+ AfterCommit();
+ }
+ }
+ catch (Exception ex)
+ {
+ Tracer.DebugFormat("Transaction[{0}] Single Phase Commit failed with error: {1}",
+ this.transactionId, ex.Message);
+ AfterRollback();
+ enlistment.Done();
+ try
+ {
+ this.connection.OnException(ex);
+ }
+ catch (Exception error)
+ {
+ Tracer.Error(error.ToString());
+ }
+ }
+ finally
+ {
+ this.currentEnlistment = null;
+ this.transactionId = null;
+ this.netTxState = TxState.None;
+
+ this.dtcControlEvent.Set();
+ }
+ }
+ }
+
+ public void Rollback(Enlistment enlistment)
+ {
+ lock (this.syncObject)
+ {
+ try
+ {
+ Tracer.Debug("Rollback notification received for TX id: " + this.transactionId);
+
+ if (this.transactionId != null)
+ {
+ BeforeEnd();
+
+ // Now notify the broker that a new XA'ish transaction has started.
+ TransactionInfo info = new TransactionInfo();
+ info.ConnectionId = this.connection.ConnectionId;
+ info.TransactionId = this.transactionId;
+ info.Type = (int)TransactionType.End;
+
+ this.connection.CheckConnected();
+ this.connection.SyncRequest(info);
+
+ info.Type = (int)TransactionType.Rollback;
+ this.connection.CheckConnected();
+ this.connection.SyncRequest(info);
+
+ Tracer.Debug("Transaction Rollback Done TX id: " + this.transactionId);
+
+ RecoveryLogger.LogRecovered(this.transactionId as XATransactionId);
+
+ // if server responds that nothing needs to be done, then reply done.
+ enlistment.Done();
+
+ AfterRollback();
+ }
+ }
+ catch (Exception ex)
+ {
+ Tracer.DebugFormat("Transaction[{0}] Rollback failed with error: {1}",
+ this.transactionId, ex.Message);
+ AfterRollback();
+ try
+ {
+ this.connection.OnException(ex);
+ }
+ catch (Exception error)
+ {
+ Tracer.Error(error.ToString());
+ }
+ }
+ finally
+ {
+ this.currentEnlistment = null;
+ this.transactionId = null;
+ this.netTxState = TxState.None;
+
+ CountDownLatch latch = this.recoveryComplete;
+ if (latch != null)
+ {
+ latch.countDown();
+ }
+
+ this.dtcControlEvent.Set();
+ }
+ }
+ }
+
+ public void InDoubt(Enlistment enlistment)
+ {
+ lock (syncObject)
+ {
+ try
+ {
+ Tracer.Debug("In Doubt notification received for TX id: " + this.transactionId);
+
+ BeforeEnd();
+
+ // Now notify the broker that Rollback should be performed.
+ TransactionInfo info = new TransactionInfo();
+ info.ConnectionId = this.connection.ConnectionId;
+ info.TransactionId = this.transactionId;
+ info.Type = (int)TransactionType.End;
+
+ this.connection.CheckConnected();
+ this.connection.SyncRequest(info);
+
+ info.Type = (int)TransactionType.Rollback;
+ this.connection.CheckConnected();
+ this.connection.SyncRequest(info);
+
+ Tracer.Debug("InDoubt Transaction Rollback Done TX id: " + this.transactionId);
+
+ RecoveryLogger.LogRecovered(this.transactionId as XATransactionId);
+
+ // if server responds that nothing needs to be done, then reply done.
+ enlistment.Done();
+
+ AfterRollback();
+ }
+ finally
+ {
+ this.currentEnlistment = null;
+ this.transactionId = null;
+ this.netTxState = TxState.None;
+
+ CountDownLatch latch = this.recoveryComplete;
+ if (latch != null)
+ {
+ latch.countDown();
+ }
+
+ this.dtcControlEvent.Set();
+ }
+ }
+ }
+
+ #endregion
+
+ #region Distributed Transaction Recovery Bits
+
+ private volatile CountDownLatch recoveryComplete;
+
+ /// <summary>
+ /// Should be called from NetTxSession when created to check if any TX
+ /// data is stored for recovery and whether the Broker has matching info
+ /// stored. If an Transaction is found that belongs to this client and is
+ /// still alive on the Broker it will be recovered, otherwise the stored
+ /// data should be cleared.
+ /// </summary>
+ public void InitializeDtcTxContext()
+ {
+ // initialize the logger with the current Resource Manager Id
+ RecoveryLogger.Initialize(ResourceManagerId);
+
+ KeyValuePair<XATransactionId, byte[]>[] localRecoverables = RecoveryLogger.GetRecoverables();
+ if (localRecoverables.Length == 0)
+ {
+ Tracer.Debug("Did not detect any open DTC transaction records on disk.");
+ // No local data so anything stored on the broker can't be recovered here.
+ return;
+ }
+
+ XATransactionId[] recoverables = TryRecoverBrokerTXIds();
+ if (recoverables.Length == 0)
+ {
+ Tracer.Debug("Did not detect any recoverable transactions at Broker.");
+ // Broker has no recoverable data so nothing to do here, delete the
+ // old recovery log as its stale.
+ RecoveryLogger.Purge();
+ return;
+ }
+
+ List<KeyValuePair<XATransactionId, byte[]>> matches = new List<KeyValuePair<XATransactionId, byte[]>>();
+
+ foreach (XATransactionId recoverable in recoverables)
+ {
+ foreach (KeyValuePair<XATransactionId, byte[]> entry in localRecoverables)
+ {
+ if (entry.Key.Equals(recoverable))
+ {
+ Tracer.DebugFormat("Found a matching TX on Broker to stored Id: {0} reenlisting.", entry.Key);
+ matches.Add(entry);
+ }
+ }
+ }
+
+ if (matches.Count != 0)
+ {
+ this.recoveryComplete = new CountDownLatch(matches.Count);
+
+ foreach (KeyValuePair<XATransactionId, byte[]> recoverable in matches)
+ {
+ this.transactionId = recoverable.Key;
+ Tracer.Info("Reenlisting recovered TX with Id: " + this.transactionId);
+ this.currentEnlistment =
+ TransactionManager.Reenlist(ResourceManagerGuid, recoverable.Value, this);
+ }
+
+ this.recoveryComplete.await();
+ Tracer.Debug("All Recovered TX enlistments Reports complete, Recovery Complete.");
+ TransactionManager.RecoveryComplete(ResourceManagerGuid);
+ return;
+ }
+
+ // The old recovery information doesn't match what's on the broker so we
+ // should discard it as its stale now.
+ RecoveryLogger.Purge();
+ }
+
+ private XATransactionId[] TryRecoverBrokerTXIds()
+ {
+ Tracer.Debug("Checking for Recoverable Transactions on Broker.");
+
+ TransactionInfo info = new TransactionInfo();
+ info.ConnectionId = this.session.Connection.ConnectionId;
+ info.Type = (int)TransactionType.Recover;
+
+ this.connection.CheckConnected();
+ DataArrayResponse response = this.connection.SyncRequest(info) as DataArrayResponse;
+
+ if (response != null && response.Data.Length > 0)
+ {
+ Tracer.DebugFormat("Broker reports there are {0} recoverable XA Transactions", response.Data.Length);
+
+ List<XATransactionId> recovered = new List<XATransactionId>();
+
+ foreach (DataStructure ds in response.Data)
+ {
+ XATransactionId xid = ds as XATransactionId;
+ if (xid != null)
+ {
+ recovered.Add(xid);
+ }
+ }
+
+ return recovered.ToArray();
+ }
+
+ return new XATransactionId[0];
+ }
+
+ #endregion
+
+ internal IRecoveryLogger RecoveryLogger
+ {
+ get { return (this.connection as NetTxConnection).RecoveryPolicy.RecoveryLogger; }
+ }
+
+ internal string ResourceManagerId
+ {
+ get { return (this.connection as NetTxConnection).ResourceManagerGuid.ToString(); }
+ }
+
+ internal Guid ResourceManagerGuid
+ {
+ get { return (this.connection as NetTxConnection).ResourceManagerGuid; }
+ }
+
+ }
+}
diff --git a/src/main/csharp/OpenWire/OpenWireFormat.cs b/src/main/csharp/OpenWire/OpenWireFormat.cs
index 0b3565f..00205bf 100755
--- a/src/main/csharp/OpenWire/OpenWireFormat.cs
+++ b/src/main/csharp/OpenWire/OpenWireFormat.cs
@@ -59,7 +59,7 @@
PreferredWireFormatInfo.MaxInactivityDuration = 30000;
PreferredWireFormatInfo.MaxInactivityDurationInitialDelay = 10000;
PreferredWireFormatInfo.CacheSize = 0;
- PreferredWireFormatInfo.Version = 9;
+ PreferredWireFormatInfo.Version = 10;
dataMarshallers = new BaseDataStreamMarshaller[256];
Version = 1;
diff --git a/src/main/csharp/OpenWire/V10/ActiveMQBlobMessageMarshaller.cs b/src/main/csharp/OpenWire/V10/ActiveMQBlobMessageMarshaller.cs
new file mode 100644
index 0000000..207c3ae
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ActiveMQBlobMessageMarshaller.cs
@@ -0,0 +1,124 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for ActiveMQBlobMessage
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for ActiveMQBlobMessage
+ /// </summary>
+ class ActiveMQBlobMessageMarshaller : ActiveMQMessageMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new ActiveMQBlobMessage();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return ActiveMQBlobMessage.ID_ACTIVEMQBLOBMESSAGE;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ ActiveMQBlobMessage info = (ActiveMQBlobMessage)o;
+ info.RemoteBlobUrl = TightUnmarshalString(dataIn, bs);
+ info.MimeType = TightUnmarshalString(dataIn, bs);
+ info.DeletedByBroker = bs.ReadBoolean();
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ ActiveMQBlobMessage info = (ActiveMQBlobMessage)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalString1(info.RemoteBlobUrl, bs);
+ rc += TightMarshalString1(info.MimeType, bs);
+ bs.WriteBoolean(info.DeletedByBroker);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ ActiveMQBlobMessage info = (ActiveMQBlobMessage)o;
+ TightMarshalString2(info.RemoteBlobUrl, dataOut, bs);
+ TightMarshalString2(info.MimeType, dataOut, bs);
+ bs.ReadBoolean();
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ ActiveMQBlobMessage info = (ActiveMQBlobMessage)o;
+ info.RemoteBlobUrl = LooseUnmarshalString(dataIn);
+ info.MimeType = LooseUnmarshalString(dataIn);
+ info.DeletedByBroker = dataIn.ReadBoolean();
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ ActiveMQBlobMessage info = (ActiveMQBlobMessage)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalString(info.RemoteBlobUrl, dataOut);
+ LooseMarshalString(info.MimeType, dataOut);
+ dataOut.Write(info.DeletedByBroker);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/ActiveMQBytesMessageMarshaller.cs b/src/main/csharp/OpenWire/V10/ActiveMQBytesMessageMarshaller.cs
new file mode 100644
index 0000000..0827f14
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ActiveMQBytesMessageMarshaller.cs
@@ -0,0 +1,100 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for ActiveMQBytesMessage
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for ActiveMQBytesMessage
+ /// </summary>
+ class ActiveMQBytesMessageMarshaller : ActiveMQMessageMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new ActiveMQBytesMessage();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return ActiveMQBytesMessage.ID_ACTIVEMQBYTESMESSAGE;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/ActiveMQDestinationMarshaller.cs b/src/main/csharp/OpenWire/V10/ActiveMQDestinationMarshaller.cs
new file mode 100644
index 0000000..6d51f00
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ActiveMQDestinationMarshaller.cs
@@ -0,0 +1,99 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for ActiveMQDestination
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for ActiveMQDestination
+ /// </summary>
+ abstract class ActiveMQDestinationMarshaller : BaseDataStreamMarshaller
+ {
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ ActiveMQDestination info = (ActiveMQDestination)o;
+ info.PhysicalName = TightUnmarshalString(dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ ActiveMQDestination info = (ActiveMQDestination)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalString1(info.PhysicalName, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ ActiveMQDestination info = (ActiveMQDestination)o;
+ TightMarshalString2(info.PhysicalName, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ ActiveMQDestination info = (ActiveMQDestination)o;
+ info.PhysicalName = LooseUnmarshalString(dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ ActiveMQDestination info = (ActiveMQDestination)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalString(info.PhysicalName, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/ActiveMQMapMessageMarshaller.cs b/src/main/csharp/OpenWire/V10/ActiveMQMapMessageMarshaller.cs
new file mode 100644
index 0000000..5d47cef
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ActiveMQMapMessageMarshaller.cs
@@ -0,0 +1,100 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for ActiveMQMapMessage
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for ActiveMQMapMessage
+ /// </summary>
+ class ActiveMQMapMessageMarshaller : ActiveMQMessageMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new ActiveMQMapMessage();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return ActiveMQMapMessage.ID_ACTIVEMQMAPMESSAGE;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/ActiveMQMessageMarshaller.cs b/src/main/csharp/OpenWire/V10/ActiveMQMessageMarshaller.cs
new file mode 100644
index 0000000..3c2725c
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ActiveMQMessageMarshaller.cs
@@ -0,0 +1,127 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for ActiveMQMessage
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for ActiveMQMessage
+ /// </summary>
+ class ActiveMQMessageMarshaller : MessageMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new ActiveMQMessage();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return ActiveMQMessage.ID_ACTIVEMQMESSAGE;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ ActiveMQMessage info = (ActiveMQMessage)o;
+
+ info.BeforeUnmarshall(wireFormat);
+
+
+ info.AfterUnmarshall(wireFormat);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ ActiveMQMessage info = (ActiveMQMessage)o;
+
+ info.BeforeMarshall(wireFormat);
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ ActiveMQMessage info = (ActiveMQMessage)o;
+
+ info.AfterMarshall(wireFormat);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ ActiveMQMessage info = (ActiveMQMessage)o;
+
+ info.BeforeUnmarshall(wireFormat);
+
+
+ info.AfterUnmarshall(wireFormat);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ ActiveMQMessage info = (ActiveMQMessage)o;
+
+ info.BeforeMarshall(wireFormat);
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+
+ info.AfterMarshall(wireFormat);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/ActiveMQObjectMessageMarshaller.cs b/src/main/csharp/OpenWire/V10/ActiveMQObjectMessageMarshaller.cs
new file mode 100644
index 0000000..7cc239c
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ActiveMQObjectMessageMarshaller.cs
@@ -0,0 +1,100 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for ActiveMQObjectMessage
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for ActiveMQObjectMessage
+ /// </summary>
+ class ActiveMQObjectMessageMarshaller : ActiveMQMessageMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new ActiveMQObjectMessage();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return ActiveMQObjectMessage.ID_ACTIVEMQOBJECTMESSAGE;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/ActiveMQQueueMarshaller.cs b/src/main/csharp/OpenWire/V10/ActiveMQQueueMarshaller.cs
new file mode 100644
index 0000000..91c3b3a
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ActiveMQQueueMarshaller.cs
@@ -0,0 +1,100 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for ActiveMQQueue
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for ActiveMQQueue
+ /// </summary>
+ class ActiveMQQueueMarshaller : ActiveMQDestinationMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new ActiveMQQueue();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return ActiveMQQueue.ID_ACTIVEMQQUEUE;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/ActiveMQStreamMessageMarshaller.cs b/src/main/csharp/OpenWire/V10/ActiveMQStreamMessageMarshaller.cs
new file mode 100644
index 0000000..95eb41c
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ActiveMQStreamMessageMarshaller.cs
@@ -0,0 +1,100 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for ActiveMQStreamMessage
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for ActiveMQStreamMessage
+ /// </summary>
+ class ActiveMQStreamMessageMarshaller : ActiveMQMessageMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new ActiveMQStreamMessage();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return ActiveMQStreamMessage.ID_ACTIVEMQSTREAMMESSAGE;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/ActiveMQTempDestinationMarshaller.cs b/src/main/csharp/OpenWire/V10/ActiveMQTempDestinationMarshaller.cs
new file mode 100644
index 0000000..48f444a
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ActiveMQTempDestinationMarshaller.cs
@@ -0,0 +1,85 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for ActiveMQTempDestination
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for ActiveMQTempDestination
+ /// </summary>
+ abstract class ActiveMQTempDestinationMarshaller : ActiveMQDestinationMarshaller
+ {
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/ActiveMQTempQueueMarshaller.cs b/src/main/csharp/OpenWire/V10/ActiveMQTempQueueMarshaller.cs
new file mode 100644
index 0000000..2909fe8
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ActiveMQTempQueueMarshaller.cs
@@ -0,0 +1,100 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for ActiveMQTempQueue
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for ActiveMQTempQueue
+ /// </summary>
+ class ActiveMQTempQueueMarshaller : ActiveMQTempDestinationMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new ActiveMQTempQueue();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return ActiveMQTempQueue.ID_ACTIVEMQTEMPQUEUE;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/ActiveMQTempTopicMarshaller.cs b/src/main/csharp/OpenWire/V10/ActiveMQTempTopicMarshaller.cs
new file mode 100644
index 0000000..ec77db3
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ActiveMQTempTopicMarshaller.cs
@@ -0,0 +1,100 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for ActiveMQTempTopic
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for ActiveMQTempTopic
+ /// </summary>
+ class ActiveMQTempTopicMarshaller : ActiveMQTempDestinationMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new ActiveMQTempTopic();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return ActiveMQTempTopic.ID_ACTIVEMQTEMPTOPIC;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/ActiveMQTextMessageMarshaller.cs b/src/main/csharp/OpenWire/V10/ActiveMQTextMessageMarshaller.cs
new file mode 100644
index 0000000..fed1e42
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ActiveMQTextMessageMarshaller.cs
@@ -0,0 +1,100 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for ActiveMQTextMessage
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for ActiveMQTextMessage
+ /// </summary>
+ class ActiveMQTextMessageMarshaller : ActiveMQMessageMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new ActiveMQTextMessage();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return ActiveMQTextMessage.ID_ACTIVEMQTEXTMESSAGE;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/ActiveMQTopicMarshaller.cs b/src/main/csharp/OpenWire/V10/ActiveMQTopicMarshaller.cs
new file mode 100644
index 0000000..ecd77ed
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ActiveMQTopicMarshaller.cs
@@ -0,0 +1,100 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for ActiveMQTopic
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for ActiveMQTopic
+ /// </summary>
+ class ActiveMQTopicMarshaller : ActiveMQDestinationMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new ActiveMQTopic();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return ActiveMQTopic.ID_ACTIVEMQTOPIC;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/BaseCommandMarshaller.cs b/src/main/csharp/OpenWire/V10/BaseCommandMarshaller.cs
new file mode 100644
index 0000000..179d602
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/BaseCommandMarshaller.cs
@@ -0,0 +1,103 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for BaseCommand
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for BaseCommand
+ /// </summary>
+ abstract class BaseCommandMarshaller : BaseDataStreamMarshaller
+ {
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ BaseCommand info = (BaseCommand)o;
+ info.CommandId = dataIn.ReadInt32();
+ info.ResponseRequired = bs.ReadBoolean();
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ BaseCommand info = (BaseCommand)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ bs.WriteBoolean(info.ResponseRequired);
+
+ return rc + 4;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ BaseCommand info = (BaseCommand)o;
+ dataOut.Write(info.CommandId);
+ bs.ReadBoolean();
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ BaseCommand info = (BaseCommand)o;
+ info.CommandId = dataIn.ReadInt32();
+ info.ResponseRequired = dataIn.ReadBoolean();
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ BaseCommand info = (BaseCommand)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ dataOut.Write(info.CommandId);
+ dataOut.Write(info.ResponseRequired);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/BrokerIdMarshaller.cs b/src/main/csharp/OpenWire/V10/BrokerIdMarshaller.cs
new file mode 100644
index 0000000..1f476be
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/BrokerIdMarshaller.cs
@@ -0,0 +1,114 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for BrokerId
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for BrokerId
+ /// </summary>
+ class BrokerIdMarshaller : BaseDataStreamMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new BrokerId();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return BrokerId.ID_BROKERID;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ BrokerId info = (BrokerId)o;
+ info.Value = TightUnmarshalString(dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ BrokerId info = (BrokerId)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalString1(info.Value, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ BrokerId info = (BrokerId)o;
+ TightMarshalString2(info.Value, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ BrokerId info = (BrokerId)o;
+ info.Value = LooseUnmarshalString(dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ BrokerId info = (BrokerId)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalString(info.Value, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/BrokerInfoMarshaller.cs b/src/main/csharp/OpenWire/V10/BrokerInfoMarshaller.cs
new file mode 100644
index 0000000..aa3e036
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/BrokerInfoMarshaller.cs
@@ -0,0 +1,191 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for BrokerInfo
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for BrokerInfo
+ /// </summary>
+ class BrokerInfoMarshaller : BaseCommandMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new BrokerInfo();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return BrokerInfo.ID_BROKERINFO;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ BrokerInfo info = (BrokerInfo)o;
+ info.BrokerId = (BrokerId) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.BrokerURL = TightUnmarshalString(dataIn, bs);
+
+ if (bs.ReadBoolean()) {
+ short size = dataIn.ReadInt16();
+ BrokerInfo[] value = new BrokerInfo[size];
+ for( int i=0; i < size; i++ ) {
+ value[i] = (BrokerInfo) TightUnmarshalNestedObject(wireFormat,dataIn, bs);
+ }
+ info.PeerBrokerInfos = value;
+ }
+ else {
+ info.PeerBrokerInfos = null;
+ }
+ info.BrokerName = TightUnmarshalString(dataIn, bs);
+ info.SlaveBroker = bs.ReadBoolean();
+ info.MasterBroker = bs.ReadBoolean();
+ info.FaultTolerantConfiguration = bs.ReadBoolean();
+ info.DuplexConnection = bs.ReadBoolean();
+ info.NetworkConnection = bs.ReadBoolean();
+ info.ConnectionId = TightUnmarshalLong(wireFormat, dataIn, bs);
+ info.BrokerUploadUrl = TightUnmarshalString(dataIn, bs);
+ info.NetworkProperties = TightUnmarshalString(dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ BrokerInfo info = (BrokerInfo)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.BrokerId, bs);
+ rc += TightMarshalString1(info.BrokerURL, bs);
+ rc += TightMarshalObjectArray1(wireFormat, info.PeerBrokerInfos, bs);
+ rc += TightMarshalString1(info.BrokerName, bs);
+ bs.WriteBoolean(info.SlaveBroker);
+ bs.WriteBoolean(info.MasterBroker);
+ bs.WriteBoolean(info.FaultTolerantConfiguration);
+ bs.WriteBoolean(info.DuplexConnection);
+ bs.WriteBoolean(info.NetworkConnection);
+ rc += TightMarshalLong1(wireFormat, info.ConnectionId, bs);
+ rc += TightMarshalString1(info.BrokerUploadUrl, bs);
+ rc += TightMarshalString1(info.NetworkProperties, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ BrokerInfo info = (BrokerInfo)o;
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.BrokerId, dataOut, bs);
+ TightMarshalString2(info.BrokerURL, dataOut, bs);
+ TightMarshalObjectArray2(wireFormat, info.PeerBrokerInfos, dataOut, bs);
+ TightMarshalString2(info.BrokerName, dataOut, bs);
+ bs.ReadBoolean();
+ bs.ReadBoolean();
+ bs.ReadBoolean();
+ bs.ReadBoolean();
+ bs.ReadBoolean();
+ TightMarshalLong2(wireFormat, info.ConnectionId, dataOut, bs);
+ TightMarshalString2(info.BrokerUploadUrl, dataOut, bs);
+ TightMarshalString2(info.NetworkProperties, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ BrokerInfo info = (BrokerInfo)o;
+ info.BrokerId = (BrokerId) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.BrokerURL = LooseUnmarshalString(dataIn);
+
+ if (dataIn.ReadBoolean()) {
+ short size = dataIn.ReadInt16();
+ BrokerInfo[] value = new BrokerInfo[size];
+ for( int i=0; i < size; i++ ) {
+ value[i] = (BrokerInfo) LooseUnmarshalNestedObject(wireFormat,dataIn);
+ }
+ info.PeerBrokerInfos = value;
+ }
+ else {
+ info.PeerBrokerInfos = null;
+ }
+ info.BrokerName = LooseUnmarshalString(dataIn);
+ info.SlaveBroker = dataIn.ReadBoolean();
+ info.MasterBroker = dataIn.ReadBoolean();
+ info.FaultTolerantConfiguration = dataIn.ReadBoolean();
+ info.DuplexConnection = dataIn.ReadBoolean();
+ info.NetworkConnection = dataIn.ReadBoolean();
+ info.ConnectionId = LooseUnmarshalLong(wireFormat, dataIn);
+ info.BrokerUploadUrl = LooseUnmarshalString(dataIn);
+ info.NetworkProperties = LooseUnmarshalString(dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ BrokerInfo info = (BrokerInfo)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.BrokerId, dataOut);
+ LooseMarshalString(info.BrokerURL, dataOut);
+ LooseMarshalObjectArray(wireFormat, info.PeerBrokerInfos, dataOut);
+ LooseMarshalString(info.BrokerName, dataOut);
+ dataOut.Write(info.SlaveBroker);
+ dataOut.Write(info.MasterBroker);
+ dataOut.Write(info.FaultTolerantConfiguration);
+ dataOut.Write(info.DuplexConnection);
+ dataOut.Write(info.NetworkConnection);
+ LooseMarshalLong(wireFormat, info.ConnectionId, dataOut);
+ LooseMarshalString(info.BrokerUploadUrl, dataOut);
+ LooseMarshalString(info.NetworkProperties, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/ConnectionControlMarshaller.cs b/src/main/csharp/OpenWire/V10/ConnectionControlMarshaller.cs
new file mode 100644
index 0000000..696ff18
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ConnectionControlMarshaller.cs
@@ -0,0 +1,162 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for ConnectionControl
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for ConnectionControl
+ /// </summary>
+ class ConnectionControlMarshaller : BaseCommandMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new ConnectionControl();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return ConnectionControl.ID_CONNECTIONCONTROL;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ ConnectionControl info = (ConnectionControl)o;
+ info.Close = bs.ReadBoolean();
+ info.Exit = bs.ReadBoolean();
+ info.FaultTolerant = bs.ReadBoolean();
+ info.Resume = bs.ReadBoolean();
+ info.Suspend = bs.ReadBoolean();
+ info.ConnectedBrokers = TightUnmarshalString(dataIn, bs);
+ info.ReconnectTo = TightUnmarshalString(dataIn, bs);
+ info.RebalanceConnection = bs.ReadBoolean();
+ info.Token = ReadBytes(dataIn, bs.ReadBoolean());
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ ConnectionControl info = (ConnectionControl)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ bs.WriteBoolean(info.Close);
+ bs.WriteBoolean(info.Exit);
+ bs.WriteBoolean(info.FaultTolerant);
+ bs.WriteBoolean(info.Resume);
+ bs.WriteBoolean(info.Suspend);
+ rc += TightMarshalString1(info.ConnectedBrokers, bs);
+ rc += TightMarshalString1(info.ReconnectTo, bs);
+ bs.WriteBoolean(info.RebalanceConnection);
+ bs.WriteBoolean(info.Token!=null);
+ rc += info.Token==null ? 0 : info.Token.Length+4;
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ ConnectionControl info = (ConnectionControl)o;
+ bs.ReadBoolean();
+ bs.ReadBoolean();
+ bs.ReadBoolean();
+ bs.ReadBoolean();
+ bs.ReadBoolean();
+ TightMarshalString2(info.ConnectedBrokers, dataOut, bs);
+ TightMarshalString2(info.ReconnectTo, dataOut, bs);
+ bs.ReadBoolean();
+ if(bs.ReadBoolean()) {
+ dataOut.Write(info.Token.Length);
+ dataOut.Write(info.Token);
+ }
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ ConnectionControl info = (ConnectionControl)o;
+ info.Close = dataIn.ReadBoolean();
+ info.Exit = dataIn.ReadBoolean();
+ info.FaultTolerant = dataIn.ReadBoolean();
+ info.Resume = dataIn.ReadBoolean();
+ info.Suspend = dataIn.ReadBoolean();
+ info.ConnectedBrokers = LooseUnmarshalString(dataIn);
+ info.ReconnectTo = LooseUnmarshalString(dataIn);
+ info.RebalanceConnection = dataIn.ReadBoolean();
+ info.Token = ReadBytes(dataIn, dataIn.ReadBoolean());
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ ConnectionControl info = (ConnectionControl)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ dataOut.Write(info.Close);
+ dataOut.Write(info.Exit);
+ dataOut.Write(info.FaultTolerant);
+ dataOut.Write(info.Resume);
+ dataOut.Write(info.Suspend);
+ LooseMarshalString(info.ConnectedBrokers, dataOut);
+ LooseMarshalString(info.ReconnectTo, dataOut);
+ dataOut.Write(info.RebalanceConnection);
+ dataOut.Write(info.Token!=null);
+ if(info.Token!=null) {
+ dataOut.Write(info.Token.Length);
+ dataOut.Write(info.Token);
+ }
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/ConnectionErrorMarshaller.cs b/src/main/csharp/OpenWire/V10/ConnectionErrorMarshaller.cs
new file mode 100644
index 0000000..e9b704b
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ConnectionErrorMarshaller.cs
@@ -0,0 +1,119 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for ConnectionError
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for ConnectionError
+ /// </summary>
+ class ConnectionErrorMarshaller : BaseCommandMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new ConnectionError();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return ConnectionError.ID_CONNECTIONERROR;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ ConnectionError info = (ConnectionError)o;
+ info.Exception = TightUnmarshalBrokerError(wireFormat, dataIn, bs);
+ info.ConnectionId = (ConnectionId) TightUnmarshalNestedObject(wireFormat, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ ConnectionError info = (ConnectionError)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalBrokerError1(wireFormat, info.Exception, bs);
+ rc += TightMarshalNestedObject1(wireFormat, (DataStructure)info.ConnectionId, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ ConnectionError info = (ConnectionError)o;
+ TightMarshalBrokerError2(wireFormat, info.Exception, dataOut, bs);
+ TightMarshalNestedObject2(wireFormat, (DataStructure)info.ConnectionId, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ ConnectionError info = (ConnectionError)o;
+ info.Exception = LooseUnmarshalBrokerError(wireFormat, dataIn);
+ info.ConnectionId = (ConnectionId) LooseUnmarshalNestedObject(wireFormat, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ ConnectionError info = (ConnectionError)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalBrokerError(wireFormat, info.Exception, dataOut);
+ LooseMarshalNestedObject(wireFormat, (DataStructure)info.ConnectionId, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/ConnectionIdMarshaller.cs b/src/main/csharp/OpenWire/V10/ConnectionIdMarshaller.cs
new file mode 100644
index 0000000..0b10633
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ConnectionIdMarshaller.cs
@@ -0,0 +1,114 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for ConnectionId
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for ConnectionId
+ /// </summary>
+ class ConnectionIdMarshaller : BaseDataStreamMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new ConnectionId();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return ConnectionId.ID_CONNECTIONID;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ ConnectionId info = (ConnectionId)o;
+ info.Value = TightUnmarshalString(dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ ConnectionId info = (ConnectionId)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalString1(info.Value, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ ConnectionId info = (ConnectionId)o;
+ TightMarshalString2(info.Value, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ ConnectionId info = (ConnectionId)o;
+ info.Value = LooseUnmarshalString(dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ ConnectionId info = (ConnectionId)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalString(info.Value, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/ConnectionInfoMarshaller.cs b/src/main/csharp/OpenWire/V10/ConnectionInfoMarshaller.cs
new file mode 100644
index 0000000..d6d6712
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ConnectionInfoMarshaller.cs
@@ -0,0 +1,186 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for ConnectionInfo
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for ConnectionInfo
+ /// </summary>
+ class ConnectionInfoMarshaller : BaseCommandMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new ConnectionInfo();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return ConnectionInfo.ID_CONNECTIONINFO;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ ConnectionInfo info = (ConnectionInfo)o;
+ info.ConnectionId = (ConnectionId) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.ClientId = TightUnmarshalString(dataIn, bs);
+ info.Password = TightUnmarshalString(dataIn, bs);
+ info.UserName = TightUnmarshalString(dataIn, bs);
+
+ if (bs.ReadBoolean()) {
+ short size = dataIn.ReadInt16();
+ BrokerId[] value = new BrokerId[size];
+ for( int i=0; i < size; i++ ) {
+ value[i] = (BrokerId) TightUnmarshalNestedObject(wireFormat,dataIn, bs);
+ }
+ info.BrokerPath = value;
+ }
+ else {
+ info.BrokerPath = null;
+ }
+ info.BrokerMasterConnector = bs.ReadBoolean();
+ info.Manageable = bs.ReadBoolean();
+ info.ClientMaster = bs.ReadBoolean();
+ info.FaultTolerant = bs.ReadBoolean();
+ info.FailoverReconnect = bs.ReadBoolean();
+ info.ClientIp = TightUnmarshalString(dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ ConnectionInfo info = (ConnectionInfo)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.ConnectionId, bs);
+ rc += TightMarshalString1(info.ClientId, bs);
+ rc += TightMarshalString1(info.Password, bs);
+ rc += TightMarshalString1(info.UserName, bs);
+ rc += TightMarshalObjectArray1(wireFormat, info.BrokerPath, bs);
+ bs.WriteBoolean(info.BrokerMasterConnector);
+ bs.WriteBoolean(info.Manageable);
+ bs.WriteBoolean(info.ClientMaster);
+ bs.WriteBoolean(info.FaultTolerant);
+ bs.WriteBoolean(info.FailoverReconnect);
+ rc += TightMarshalString1(info.ClientIp, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ ConnectionInfo info = (ConnectionInfo)o;
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.ConnectionId, dataOut, bs);
+ TightMarshalString2(info.ClientId, dataOut, bs);
+ TightMarshalString2(info.Password, dataOut, bs);
+ TightMarshalString2(info.UserName, dataOut, bs);
+ TightMarshalObjectArray2(wireFormat, info.BrokerPath, dataOut, bs);
+ bs.ReadBoolean();
+ bs.ReadBoolean();
+ bs.ReadBoolean();
+ bs.ReadBoolean();
+ bs.ReadBoolean();
+ TightMarshalString2(info.ClientIp, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ ConnectionInfo info = (ConnectionInfo)o;
+ info.ConnectionId = (ConnectionId) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.ClientId = LooseUnmarshalString(dataIn);
+ info.Password = LooseUnmarshalString(dataIn);
+ info.UserName = LooseUnmarshalString(dataIn);
+
+ if (dataIn.ReadBoolean()) {
+ short size = dataIn.ReadInt16();
+ BrokerId[] value = new BrokerId[size];
+ for( int i=0; i < size; i++ ) {
+ value[i] = (BrokerId) LooseUnmarshalNestedObject(wireFormat,dataIn);
+ }
+ info.BrokerPath = value;
+ }
+ else {
+ info.BrokerPath = null;
+ }
+ info.BrokerMasterConnector = dataIn.ReadBoolean();
+ info.Manageable = dataIn.ReadBoolean();
+ info.ClientMaster = dataIn.ReadBoolean();
+ info.FaultTolerant = dataIn.ReadBoolean();
+ info.FailoverReconnect = dataIn.ReadBoolean();
+ info.ClientIp = LooseUnmarshalString(dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ ConnectionInfo info = (ConnectionInfo)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.ConnectionId, dataOut);
+ LooseMarshalString(info.ClientId, dataOut);
+ LooseMarshalString(info.Password, dataOut);
+ LooseMarshalString(info.UserName, dataOut);
+ LooseMarshalObjectArray(wireFormat, info.BrokerPath, dataOut);
+ dataOut.Write(info.BrokerMasterConnector);
+ dataOut.Write(info.Manageable);
+ dataOut.Write(info.ClientMaster);
+ dataOut.Write(info.FaultTolerant);
+ dataOut.Write(info.FailoverReconnect);
+ LooseMarshalString(info.ClientIp, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/ConsumerControlMarshaller.cs b/src/main/csharp/OpenWire/V10/ConsumerControlMarshaller.cs
new file mode 100644
index 0000000..74e4c41
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ConsumerControlMarshaller.cs
@@ -0,0 +1,143 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for ConsumerControl
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for ConsumerControl
+ /// </summary>
+ class ConsumerControlMarshaller : BaseCommandMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new ConsumerControl();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return ConsumerControl.ID_CONSUMERCONTROL;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ ConsumerControl info = (ConsumerControl)o;
+ info.Destination = (ActiveMQDestination) TightUnmarshalNestedObject(wireFormat, dataIn, bs);
+ info.Close = bs.ReadBoolean();
+ info.ConsumerId = (ConsumerId) TightUnmarshalNestedObject(wireFormat, dataIn, bs);
+ info.Prefetch = dataIn.ReadInt32();
+ info.Flush = bs.ReadBoolean();
+ info.Start = bs.ReadBoolean();
+ info.Stop = bs.ReadBoolean();
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ ConsumerControl info = (ConsumerControl)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalNestedObject1(wireFormat, (DataStructure)info.Destination, bs);
+ bs.WriteBoolean(info.Close);
+ rc += TightMarshalNestedObject1(wireFormat, (DataStructure)info.ConsumerId, bs);
+ bs.WriteBoolean(info.Flush);
+ bs.WriteBoolean(info.Start);
+ bs.WriteBoolean(info.Stop);
+
+ return rc + 4;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ ConsumerControl info = (ConsumerControl)o;
+ TightMarshalNestedObject2(wireFormat, (DataStructure)info.Destination, dataOut, bs);
+ bs.ReadBoolean();
+ TightMarshalNestedObject2(wireFormat, (DataStructure)info.ConsumerId, dataOut, bs);
+ dataOut.Write(info.Prefetch);
+ bs.ReadBoolean();
+ bs.ReadBoolean();
+ bs.ReadBoolean();
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ ConsumerControl info = (ConsumerControl)o;
+ info.Destination = (ActiveMQDestination) LooseUnmarshalNestedObject(wireFormat, dataIn);
+ info.Close = dataIn.ReadBoolean();
+ info.ConsumerId = (ConsumerId) LooseUnmarshalNestedObject(wireFormat, dataIn);
+ info.Prefetch = dataIn.ReadInt32();
+ info.Flush = dataIn.ReadBoolean();
+ info.Start = dataIn.ReadBoolean();
+ info.Stop = dataIn.ReadBoolean();
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ ConsumerControl info = (ConsumerControl)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalNestedObject(wireFormat, (DataStructure)info.Destination, dataOut);
+ dataOut.Write(info.Close);
+ LooseMarshalNestedObject(wireFormat, (DataStructure)info.ConsumerId, dataOut);
+ dataOut.Write(info.Prefetch);
+ dataOut.Write(info.Flush);
+ dataOut.Write(info.Start);
+ dataOut.Write(info.Stop);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/ConsumerIdMarshaller.cs b/src/main/csharp/OpenWire/V10/ConsumerIdMarshaller.cs
new file mode 100644
index 0000000..1eb6962
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ConsumerIdMarshaller.cs
@@ -0,0 +1,124 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for ConsumerId
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for ConsumerId
+ /// </summary>
+ class ConsumerIdMarshaller : BaseDataStreamMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new ConsumerId();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return ConsumerId.ID_CONSUMERID;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ ConsumerId info = (ConsumerId)o;
+ info.ConnectionId = TightUnmarshalString(dataIn, bs);
+ info.SessionId = TightUnmarshalLong(wireFormat, dataIn, bs);
+ info.Value = TightUnmarshalLong(wireFormat, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ ConsumerId info = (ConsumerId)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalString1(info.ConnectionId, bs);
+ rc += TightMarshalLong1(wireFormat, info.SessionId, bs);
+ rc += TightMarshalLong1(wireFormat, info.Value, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ ConsumerId info = (ConsumerId)o;
+ TightMarshalString2(info.ConnectionId, dataOut, bs);
+ TightMarshalLong2(wireFormat, info.SessionId, dataOut, bs);
+ TightMarshalLong2(wireFormat, info.Value, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ ConsumerId info = (ConsumerId)o;
+ info.ConnectionId = LooseUnmarshalString(dataIn);
+ info.SessionId = LooseUnmarshalLong(wireFormat, dataIn);
+ info.Value = LooseUnmarshalLong(wireFormat, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ ConsumerId info = (ConsumerId)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalString(info.ConnectionId, dataOut);
+ LooseMarshalLong(wireFormat, info.SessionId, dataOut);
+ LooseMarshalLong(wireFormat, info.Value, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/ConsumerInfoMarshaller.cs b/src/main/csharp/OpenWire/V10/ConsumerInfoMarshaller.cs
new file mode 100644
index 0000000..2c03b82
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ConsumerInfoMarshaller.cs
@@ -0,0 +1,245 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for ConsumerInfo
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for ConsumerInfo
+ /// </summary>
+ class ConsumerInfoMarshaller : BaseCommandMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new ConsumerInfo();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return ConsumerInfo.ID_CONSUMERINFO;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ ConsumerInfo info = (ConsumerInfo)o;
+ info.ConsumerId = (ConsumerId) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.Browser = bs.ReadBoolean();
+ info.Destination = (ActiveMQDestination) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.PrefetchSize = dataIn.ReadInt32();
+ info.MaximumPendingMessageLimit = dataIn.ReadInt32();
+ info.DispatchAsync = bs.ReadBoolean();
+ info.Selector = TightUnmarshalString(dataIn, bs);
+ info.ClientId = TightUnmarshalString(dataIn, bs);
+ info.SubscriptionName = TightUnmarshalString(dataIn, bs);
+ info.NoLocal = bs.ReadBoolean();
+ info.Exclusive = bs.ReadBoolean();
+ info.Retroactive = bs.ReadBoolean();
+ info.Priority = dataIn.ReadByte();
+
+ if (bs.ReadBoolean()) {
+ short size = dataIn.ReadInt16();
+ BrokerId[] value = new BrokerId[size];
+ for( int i=0; i < size; i++ ) {
+ value[i] = (BrokerId) TightUnmarshalNestedObject(wireFormat,dataIn, bs);
+ }
+ info.BrokerPath = value;
+ }
+ else {
+ info.BrokerPath = null;
+ }
+ info.AdditionalPredicate = (BooleanExpression) TightUnmarshalNestedObject(wireFormat, dataIn, bs);
+ info.NetworkSubscription = bs.ReadBoolean();
+ info.OptimizedAcknowledge = bs.ReadBoolean();
+ info.NoRangeAcks = bs.ReadBoolean();
+
+ if (bs.ReadBoolean()) {
+ short size = dataIn.ReadInt16();
+ ConsumerId[] value = new ConsumerId[size];
+ for( int i=0; i < size; i++ ) {
+ value[i] = (ConsumerId) TightUnmarshalNestedObject(wireFormat,dataIn, bs);
+ }
+ info.NetworkConsumerPath = value;
+ }
+ else {
+ info.NetworkConsumerPath = null;
+ }
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ ConsumerInfo info = (ConsumerInfo)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.ConsumerId, bs);
+ bs.WriteBoolean(info.Browser);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.Destination, bs);
+ bs.WriteBoolean(info.DispatchAsync);
+ rc += TightMarshalString1(info.Selector, bs);
+ rc += TightMarshalString1(info.ClientId, bs);
+ rc += TightMarshalString1(info.SubscriptionName, bs);
+ bs.WriteBoolean(info.NoLocal);
+ bs.WriteBoolean(info.Exclusive);
+ bs.WriteBoolean(info.Retroactive);
+ rc += TightMarshalObjectArray1(wireFormat, info.BrokerPath, bs);
+ rc += TightMarshalNestedObject1(wireFormat, (DataStructure)info.AdditionalPredicate, bs);
+ bs.WriteBoolean(info.NetworkSubscription);
+ bs.WriteBoolean(info.OptimizedAcknowledge);
+ bs.WriteBoolean(info.NoRangeAcks);
+ rc += TightMarshalObjectArray1(wireFormat, info.NetworkConsumerPath, bs);
+
+ return rc + 9;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ ConsumerInfo info = (ConsumerInfo)o;
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.ConsumerId, dataOut, bs);
+ bs.ReadBoolean();
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.Destination, dataOut, bs);
+ dataOut.Write(info.PrefetchSize);
+ dataOut.Write(info.MaximumPendingMessageLimit);
+ bs.ReadBoolean();
+ TightMarshalString2(info.Selector, dataOut, bs);
+ TightMarshalString2(info.ClientId, dataOut, bs);
+ TightMarshalString2(info.SubscriptionName, dataOut, bs);
+ bs.ReadBoolean();
+ bs.ReadBoolean();
+ bs.ReadBoolean();
+ dataOut.Write(info.Priority);
+ TightMarshalObjectArray2(wireFormat, info.BrokerPath, dataOut, bs);
+ TightMarshalNestedObject2(wireFormat, (DataStructure)info.AdditionalPredicate, dataOut, bs);
+ bs.ReadBoolean();
+ bs.ReadBoolean();
+ bs.ReadBoolean();
+ TightMarshalObjectArray2(wireFormat, info.NetworkConsumerPath, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ ConsumerInfo info = (ConsumerInfo)o;
+ info.ConsumerId = (ConsumerId) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.Browser = dataIn.ReadBoolean();
+ info.Destination = (ActiveMQDestination) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.PrefetchSize = dataIn.ReadInt32();
+ info.MaximumPendingMessageLimit = dataIn.ReadInt32();
+ info.DispatchAsync = dataIn.ReadBoolean();
+ info.Selector = LooseUnmarshalString(dataIn);
+ info.ClientId = LooseUnmarshalString(dataIn);
+ info.SubscriptionName = LooseUnmarshalString(dataIn);
+ info.NoLocal = dataIn.ReadBoolean();
+ info.Exclusive = dataIn.ReadBoolean();
+ info.Retroactive = dataIn.ReadBoolean();
+ info.Priority = dataIn.ReadByte();
+
+ if (dataIn.ReadBoolean()) {
+ short size = dataIn.ReadInt16();
+ BrokerId[] value = new BrokerId[size];
+ for( int i=0; i < size; i++ ) {
+ value[i] = (BrokerId) LooseUnmarshalNestedObject(wireFormat,dataIn);
+ }
+ info.BrokerPath = value;
+ }
+ else {
+ info.BrokerPath = null;
+ }
+ info.AdditionalPredicate = (BooleanExpression) LooseUnmarshalNestedObject(wireFormat, dataIn);
+ info.NetworkSubscription = dataIn.ReadBoolean();
+ info.OptimizedAcknowledge = dataIn.ReadBoolean();
+ info.NoRangeAcks = dataIn.ReadBoolean();
+
+ if (dataIn.ReadBoolean()) {
+ short size = dataIn.ReadInt16();
+ ConsumerId[] value = new ConsumerId[size];
+ for( int i=0; i < size; i++ ) {
+ value[i] = (ConsumerId) LooseUnmarshalNestedObject(wireFormat,dataIn);
+ }
+ info.NetworkConsumerPath = value;
+ }
+ else {
+ info.NetworkConsumerPath = null;
+ }
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ ConsumerInfo info = (ConsumerInfo)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.ConsumerId, dataOut);
+ dataOut.Write(info.Browser);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.Destination, dataOut);
+ dataOut.Write(info.PrefetchSize);
+ dataOut.Write(info.MaximumPendingMessageLimit);
+ dataOut.Write(info.DispatchAsync);
+ LooseMarshalString(info.Selector, dataOut);
+ LooseMarshalString(info.ClientId, dataOut);
+ LooseMarshalString(info.SubscriptionName, dataOut);
+ dataOut.Write(info.NoLocal);
+ dataOut.Write(info.Exclusive);
+ dataOut.Write(info.Retroactive);
+ dataOut.Write(info.Priority);
+ LooseMarshalObjectArray(wireFormat, info.BrokerPath, dataOut);
+ LooseMarshalNestedObject(wireFormat, (DataStructure)info.AdditionalPredicate, dataOut);
+ dataOut.Write(info.NetworkSubscription);
+ dataOut.Write(info.OptimizedAcknowledge);
+ dataOut.Write(info.NoRangeAcks);
+ LooseMarshalObjectArray(wireFormat, info.NetworkConsumerPath, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/ControlCommandMarshaller.cs b/src/main/csharp/OpenWire/V10/ControlCommandMarshaller.cs
new file mode 100644
index 0000000..5089dab
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ControlCommandMarshaller.cs
@@ -0,0 +1,114 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for ControlCommand
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for ControlCommand
+ /// </summary>
+ class ControlCommandMarshaller : BaseCommandMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new ControlCommand();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return ControlCommand.ID_CONTROLCOMMAND;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ ControlCommand info = (ControlCommand)o;
+ info.Command = TightUnmarshalString(dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ ControlCommand info = (ControlCommand)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalString1(info.Command, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ ControlCommand info = (ControlCommand)o;
+ TightMarshalString2(info.Command, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ ControlCommand info = (ControlCommand)o;
+ info.Command = LooseUnmarshalString(dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ ControlCommand info = (ControlCommand)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalString(info.Command, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/DataArrayResponseMarshaller.cs b/src/main/csharp/OpenWire/V10/DataArrayResponseMarshaller.cs
new file mode 100644
index 0000000..f3efbb8
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/DataArrayResponseMarshaller.cs
@@ -0,0 +1,136 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for DataArrayResponse
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for DataArrayResponse
+ /// </summary>
+ class DataArrayResponseMarshaller : ResponseMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new DataArrayResponse();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return DataArrayResponse.ID_DATAARRAYRESPONSE;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ DataArrayResponse info = (DataArrayResponse)o;
+
+ if (bs.ReadBoolean()) {
+ short size = dataIn.ReadInt16();
+ DataStructure[] value = new DataStructure[size];
+ for( int i=0; i < size; i++ ) {
+ value[i] = (DataStructure) TightUnmarshalNestedObject(wireFormat,dataIn, bs);
+ }
+ info.Data = value;
+ }
+ else {
+ info.Data = null;
+ }
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ DataArrayResponse info = (DataArrayResponse)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalObjectArray1(wireFormat, info.Data, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ DataArrayResponse info = (DataArrayResponse)o;
+ TightMarshalObjectArray2(wireFormat, info.Data, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ DataArrayResponse info = (DataArrayResponse)o;
+
+ if (dataIn.ReadBoolean()) {
+ short size = dataIn.ReadInt16();
+ DataStructure[] value = new DataStructure[size];
+ for( int i=0; i < size; i++ ) {
+ value[i] = (DataStructure) LooseUnmarshalNestedObject(wireFormat,dataIn);
+ }
+ info.Data = value;
+ }
+ else {
+ info.Data = null;
+ }
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ DataArrayResponse info = (DataArrayResponse)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalObjectArray(wireFormat, info.Data, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/DataResponseMarshaller.cs b/src/main/csharp/OpenWire/V10/DataResponseMarshaller.cs
new file mode 100644
index 0000000..39bc221
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/DataResponseMarshaller.cs
@@ -0,0 +1,114 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for DataResponse
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for DataResponse
+ /// </summary>
+ class DataResponseMarshaller : ResponseMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new DataResponse();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return DataResponse.ID_DATARESPONSE;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ DataResponse info = (DataResponse)o;
+ info.Data = (DataStructure) TightUnmarshalNestedObject(wireFormat, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ DataResponse info = (DataResponse)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalNestedObject1(wireFormat, (DataStructure)info.Data, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ DataResponse info = (DataResponse)o;
+ TightMarshalNestedObject2(wireFormat, (DataStructure)info.Data, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ DataResponse info = (DataResponse)o;
+ info.Data = (DataStructure) LooseUnmarshalNestedObject(wireFormat, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ DataResponse info = (DataResponse)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalNestedObject(wireFormat, (DataStructure)info.Data, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/DestinationInfoMarshaller.cs b/src/main/csharp/OpenWire/V10/DestinationInfoMarshaller.cs
new file mode 100644
index 0000000..b3bce8a
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/DestinationInfoMarshaller.cs
@@ -0,0 +1,155 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for DestinationInfo
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for DestinationInfo
+ /// </summary>
+ class DestinationInfoMarshaller : BaseCommandMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new DestinationInfo();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return DestinationInfo.ID_DESTINATIONINFO;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ DestinationInfo info = (DestinationInfo)o;
+ info.ConnectionId = (ConnectionId) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.Destination = (ActiveMQDestination) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.OperationType = dataIn.ReadByte();
+ info.Timeout = TightUnmarshalLong(wireFormat, dataIn, bs);
+
+ if (bs.ReadBoolean()) {
+ short size = dataIn.ReadInt16();
+ BrokerId[] value = new BrokerId[size];
+ for( int i=0; i < size; i++ ) {
+ value[i] = (BrokerId) TightUnmarshalNestedObject(wireFormat,dataIn, bs);
+ }
+ info.BrokerPath = value;
+ }
+ else {
+ info.BrokerPath = null;
+ }
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ DestinationInfo info = (DestinationInfo)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.ConnectionId, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.Destination, bs);
+ rc += TightMarshalLong1(wireFormat, info.Timeout, bs);
+ rc += TightMarshalObjectArray1(wireFormat, info.BrokerPath, bs);
+
+ return rc + 1;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ DestinationInfo info = (DestinationInfo)o;
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.ConnectionId, dataOut, bs);
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.Destination, dataOut, bs);
+ dataOut.Write(info.OperationType);
+ TightMarshalLong2(wireFormat, info.Timeout, dataOut, bs);
+ TightMarshalObjectArray2(wireFormat, info.BrokerPath, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ DestinationInfo info = (DestinationInfo)o;
+ info.ConnectionId = (ConnectionId) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.Destination = (ActiveMQDestination) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.OperationType = dataIn.ReadByte();
+ info.Timeout = LooseUnmarshalLong(wireFormat, dataIn);
+
+ if (dataIn.ReadBoolean()) {
+ short size = dataIn.ReadInt16();
+ BrokerId[] value = new BrokerId[size];
+ for( int i=0; i < size; i++ ) {
+ value[i] = (BrokerId) LooseUnmarshalNestedObject(wireFormat,dataIn);
+ }
+ info.BrokerPath = value;
+ }
+ else {
+ info.BrokerPath = null;
+ }
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ DestinationInfo info = (DestinationInfo)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.ConnectionId, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.Destination, dataOut);
+ dataOut.Write(info.OperationType);
+ LooseMarshalLong(wireFormat, info.Timeout, dataOut);
+ LooseMarshalObjectArray(wireFormat, info.BrokerPath, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/DiscoveryEventMarshaller.cs b/src/main/csharp/OpenWire/V10/DiscoveryEventMarshaller.cs
new file mode 100644
index 0000000..95e3cef
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/DiscoveryEventMarshaller.cs
@@ -0,0 +1,119 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for DiscoveryEvent
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for DiscoveryEvent
+ /// </summary>
+ class DiscoveryEventMarshaller : BaseDataStreamMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new DiscoveryEvent();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return DiscoveryEvent.ID_DISCOVERYEVENT;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ DiscoveryEvent info = (DiscoveryEvent)o;
+ info.ServiceName = TightUnmarshalString(dataIn, bs);
+ info.BrokerName = TightUnmarshalString(dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ DiscoveryEvent info = (DiscoveryEvent)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalString1(info.ServiceName, bs);
+ rc += TightMarshalString1(info.BrokerName, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ DiscoveryEvent info = (DiscoveryEvent)o;
+ TightMarshalString2(info.ServiceName, dataOut, bs);
+ TightMarshalString2(info.BrokerName, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ DiscoveryEvent info = (DiscoveryEvent)o;
+ info.ServiceName = LooseUnmarshalString(dataIn);
+ info.BrokerName = LooseUnmarshalString(dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ DiscoveryEvent info = (DiscoveryEvent)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalString(info.ServiceName, dataOut);
+ LooseMarshalString(info.BrokerName, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/ExceptionResponseMarshaller.cs b/src/main/csharp/OpenWire/V10/ExceptionResponseMarshaller.cs
new file mode 100644
index 0000000..18438da
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ExceptionResponseMarshaller.cs
@@ -0,0 +1,114 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for ExceptionResponse
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for ExceptionResponse
+ /// </summary>
+ class ExceptionResponseMarshaller : ResponseMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new ExceptionResponse();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return ExceptionResponse.ID_EXCEPTIONRESPONSE;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ ExceptionResponse info = (ExceptionResponse)o;
+ info.Exception = TightUnmarshalBrokerError(wireFormat, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ ExceptionResponse info = (ExceptionResponse)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalBrokerError1(wireFormat, info.Exception, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ ExceptionResponse info = (ExceptionResponse)o;
+ TightMarshalBrokerError2(wireFormat, info.Exception, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ ExceptionResponse info = (ExceptionResponse)o;
+ info.Exception = LooseUnmarshalBrokerError(wireFormat, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ ExceptionResponse info = (ExceptionResponse)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalBrokerError(wireFormat, info.Exception, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/FlushCommandMarshaller.cs b/src/main/csharp/OpenWire/V10/FlushCommandMarshaller.cs
new file mode 100644
index 0000000..4cfa473
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/FlushCommandMarshaller.cs
@@ -0,0 +1,100 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for FlushCommand
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for FlushCommand
+ /// </summary>
+ class FlushCommandMarshaller : BaseCommandMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new FlushCommand();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return FlushCommand.ID_FLUSHCOMMAND;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/IntegerResponseMarshaller.cs b/src/main/csharp/OpenWire/V10/IntegerResponseMarshaller.cs
new file mode 100644
index 0000000..c29e458
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/IntegerResponseMarshaller.cs
@@ -0,0 +1,112 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for IntegerResponse
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for IntegerResponse
+ /// </summary>
+ class IntegerResponseMarshaller : ResponseMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new IntegerResponse();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return IntegerResponse.ID_INTEGERRESPONSE;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ IntegerResponse info = (IntegerResponse)o;
+ info.Result = dataIn.ReadInt32();
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+
+ return rc + 4;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ IntegerResponse info = (IntegerResponse)o;
+ dataOut.Write(info.Result);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ IntegerResponse info = (IntegerResponse)o;
+ info.Result = dataIn.ReadInt32();
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ IntegerResponse info = (IntegerResponse)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ dataOut.Write(info.Result);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/JournalQueueAckMarshaller.cs b/src/main/csharp/OpenWire/V10/JournalQueueAckMarshaller.cs
new file mode 100644
index 0000000..22b72e2
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/JournalQueueAckMarshaller.cs
@@ -0,0 +1,119 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for JournalQueueAck
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for JournalQueueAck
+ /// </summary>
+ class JournalQueueAckMarshaller : BaseDataStreamMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new JournalQueueAck();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return JournalQueueAck.ID_JOURNALQUEUEACK;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ JournalQueueAck info = (JournalQueueAck)o;
+ info.Destination = (ActiveMQDestination) TightUnmarshalNestedObject(wireFormat, dataIn, bs);
+ info.MessageAck = (MessageAck) TightUnmarshalNestedObject(wireFormat, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ JournalQueueAck info = (JournalQueueAck)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalNestedObject1(wireFormat, (DataStructure)info.Destination, bs);
+ rc += TightMarshalNestedObject1(wireFormat, (DataStructure)info.MessageAck, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ JournalQueueAck info = (JournalQueueAck)o;
+ TightMarshalNestedObject2(wireFormat, (DataStructure)info.Destination, dataOut, bs);
+ TightMarshalNestedObject2(wireFormat, (DataStructure)info.MessageAck, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ JournalQueueAck info = (JournalQueueAck)o;
+ info.Destination = (ActiveMQDestination) LooseUnmarshalNestedObject(wireFormat, dataIn);
+ info.MessageAck = (MessageAck) LooseUnmarshalNestedObject(wireFormat, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ JournalQueueAck info = (JournalQueueAck)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalNestedObject(wireFormat, (DataStructure)info.Destination, dataOut);
+ LooseMarshalNestedObject(wireFormat, (DataStructure)info.MessageAck, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/JournalTopicAckMarshaller.cs b/src/main/csharp/OpenWire/V10/JournalTopicAckMarshaller.cs
new file mode 100644
index 0000000..bfdfad5
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/JournalTopicAckMarshaller.cs
@@ -0,0 +1,139 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for JournalTopicAck
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for JournalTopicAck
+ /// </summary>
+ class JournalTopicAckMarshaller : BaseDataStreamMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new JournalTopicAck();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return JournalTopicAck.ID_JOURNALTOPICACK;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ JournalTopicAck info = (JournalTopicAck)o;
+ info.Destination = (ActiveMQDestination) TightUnmarshalNestedObject(wireFormat, dataIn, bs);
+ info.MessageId = (MessageId) TightUnmarshalNestedObject(wireFormat, dataIn, bs);
+ info.MessageSequenceId = TightUnmarshalLong(wireFormat, dataIn, bs);
+ info.SubscritionName = TightUnmarshalString(dataIn, bs);
+ info.ClientId = TightUnmarshalString(dataIn, bs);
+ info.TransactionId = (TransactionId) TightUnmarshalNestedObject(wireFormat, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ JournalTopicAck info = (JournalTopicAck)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalNestedObject1(wireFormat, (DataStructure)info.Destination, bs);
+ rc += TightMarshalNestedObject1(wireFormat, (DataStructure)info.MessageId, bs);
+ rc += TightMarshalLong1(wireFormat, info.MessageSequenceId, bs);
+ rc += TightMarshalString1(info.SubscritionName, bs);
+ rc += TightMarshalString1(info.ClientId, bs);
+ rc += TightMarshalNestedObject1(wireFormat, (DataStructure)info.TransactionId, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ JournalTopicAck info = (JournalTopicAck)o;
+ TightMarshalNestedObject2(wireFormat, (DataStructure)info.Destination, dataOut, bs);
+ TightMarshalNestedObject2(wireFormat, (DataStructure)info.MessageId, dataOut, bs);
+ TightMarshalLong2(wireFormat, info.MessageSequenceId, dataOut, bs);
+ TightMarshalString2(info.SubscritionName, dataOut, bs);
+ TightMarshalString2(info.ClientId, dataOut, bs);
+ TightMarshalNestedObject2(wireFormat, (DataStructure)info.TransactionId, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ JournalTopicAck info = (JournalTopicAck)o;
+ info.Destination = (ActiveMQDestination) LooseUnmarshalNestedObject(wireFormat, dataIn);
+ info.MessageId = (MessageId) LooseUnmarshalNestedObject(wireFormat, dataIn);
+ info.MessageSequenceId = LooseUnmarshalLong(wireFormat, dataIn);
+ info.SubscritionName = LooseUnmarshalString(dataIn);
+ info.ClientId = LooseUnmarshalString(dataIn);
+ info.TransactionId = (TransactionId) LooseUnmarshalNestedObject(wireFormat, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ JournalTopicAck info = (JournalTopicAck)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalNestedObject(wireFormat, (DataStructure)info.Destination, dataOut);
+ LooseMarshalNestedObject(wireFormat, (DataStructure)info.MessageId, dataOut);
+ LooseMarshalLong(wireFormat, info.MessageSequenceId, dataOut);
+ LooseMarshalString(info.SubscritionName, dataOut);
+ LooseMarshalString(info.ClientId, dataOut);
+ LooseMarshalNestedObject(wireFormat, (DataStructure)info.TransactionId, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/JournalTraceMarshaller.cs b/src/main/csharp/OpenWire/V10/JournalTraceMarshaller.cs
new file mode 100644
index 0000000..073c9c9
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/JournalTraceMarshaller.cs
@@ -0,0 +1,114 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for JournalTrace
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for JournalTrace
+ /// </summary>
+ class JournalTraceMarshaller : BaseDataStreamMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new JournalTrace();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return JournalTrace.ID_JOURNALTRACE;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ JournalTrace info = (JournalTrace)o;
+ info.Message = TightUnmarshalString(dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ JournalTrace info = (JournalTrace)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalString1(info.Message, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ JournalTrace info = (JournalTrace)o;
+ TightMarshalString2(info.Message, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ JournalTrace info = (JournalTrace)o;
+ info.Message = LooseUnmarshalString(dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ JournalTrace info = (JournalTrace)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalString(info.Message, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/JournalTransactionMarshaller.cs b/src/main/csharp/OpenWire/V10/JournalTransactionMarshaller.cs
new file mode 100644
index 0000000..d9e64b0
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/JournalTransactionMarshaller.cs
@@ -0,0 +1,123 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for JournalTransaction
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for JournalTransaction
+ /// </summary>
+ class JournalTransactionMarshaller : BaseDataStreamMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new JournalTransaction();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return JournalTransaction.ID_JOURNALTRANSACTION;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ JournalTransaction info = (JournalTransaction)o;
+ info.TransactionId = (TransactionId) TightUnmarshalNestedObject(wireFormat, dataIn, bs);
+ info.Type = dataIn.ReadByte();
+ info.WasPrepared = bs.ReadBoolean();
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ JournalTransaction info = (JournalTransaction)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalNestedObject1(wireFormat, (DataStructure)info.TransactionId, bs);
+ bs.WriteBoolean(info.WasPrepared);
+
+ return rc + 1;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ JournalTransaction info = (JournalTransaction)o;
+ TightMarshalNestedObject2(wireFormat, (DataStructure)info.TransactionId, dataOut, bs);
+ dataOut.Write(info.Type);
+ bs.ReadBoolean();
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ JournalTransaction info = (JournalTransaction)o;
+ info.TransactionId = (TransactionId) LooseUnmarshalNestedObject(wireFormat, dataIn);
+ info.Type = dataIn.ReadByte();
+ info.WasPrepared = dataIn.ReadBoolean();
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ JournalTransaction info = (JournalTransaction)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalNestedObject(wireFormat, (DataStructure)info.TransactionId, dataOut);
+ dataOut.Write(info.Type);
+ dataOut.Write(info.WasPrepared);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/KeepAliveInfoMarshaller.cs b/src/main/csharp/OpenWire/V10/KeepAliveInfoMarshaller.cs
new file mode 100644
index 0000000..e41b894
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/KeepAliveInfoMarshaller.cs
@@ -0,0 +1,100 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for KeepAliveInfo
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for KeepAliveInfo
+ /// </summary>
+ class KeepAliveInfoMarshaller : BaseCommandMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new KeepAliveInfo();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return KeepAliveInfo.ID_KEEPALIVEINFO;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/LastPartialCommandMarshaller.cs b/src/main/csharp/OpenWire/V10/LastPartialCommandMarshaller.cs
new file mode 100644
index 0000000..fd1bee4
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/LastPartialCommandMarshaller.cs
@@ -0,0 +1,100 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for LastPartialCommand
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for LastPartialCommand
+ /// </summary>
+ class LastPartialCommandMarshaller : PartialCommandMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new LastPartialCommand();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return LastPartialCommand.ID_LASTPARTIALCOMMAND;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/LocalTransactionIdMarshaller.cs b/src/main/csharp/OpenWire/V10/LocalTransactionIdMarshaller.cs
new file mode 100644
index 0000000..d1a5bdd
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/LocalTransactionIdMarshaller.cs
@@ -0,0 +1,119 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for LocalTransactionId
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for LocalTransactionId
+ /// </summary>
+ class LocalTransactionIdMarshaller : TransactionIdMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new LocalTransactionId();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return LocalTransactionId.ID_LOCALTRANSACTIONID;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ LocalTransactionId info = (LocalTransactionId)o;
+ info.Value = TightUnmarshalLong(wireFormat, dataIn, bs);
+ info.ConnectionId = (ConnectionId) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ LocalTransactionId info = (LocalTransactionId)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalLong1(wireFormat, info.Value, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.ConnectionId, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ LocalTransactionId info = (LocalTransactionId)o;
+ TightMarshalLong2(wireFormat, info.Value, dataOut, bs);
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.ConnectionId, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ LocalTransactionId info = (LocalTransactionId)o;
+ info.Value = LooseUnmarshalLong(wireFormat, dataIn);
+ info.ConnectionId = (ConnectionId) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ LocalTransactionId info = (LocalTransactionId)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalLong(wireFormat, info.Value, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.ConnectionId, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/MarshallerFactory.cs b/src/main/csharp/OpenWire/V10/MarshallerFactory.cs
new file mode 100644
index 0000000..b582f0a
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/MarshallerFactory.cs
@@ -0,0 +1,101 @@
+/*
+ * 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.
+ */
+/*
+ *
+ * MarshallerFactory code for OpenWire Protocol Version 10
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Used to create marshallers for a specific version of the OpenWire protocol.
+ /// Each non-abstract DataStructure object has a registered Marshaller that is
+ /// created and added to the OpenWireFormat objects format collection.
+ /// </summary>
+ public class MarshallerFactory : IMarshallerFactory
+ {
+ /// <summery>
+ /// Adds the Marshallers for this version of the OpenWire protocol to the
+ /// Collection of Marshallers stored in the OpenWireFormat class.
+ /// </summery>
+ public void configure(OpenWireFormat format)
+ {
+ format.clearMarshallers();
+ format.addMarshaller(new ActiveMQBlobMessageMarshaller());
+ format.addMarshaller(new ActiveMQBytesMessageMarshaller());
+ format.addMarshaller(new ActiveMQMapMessageMarshaller());
+ format.addMarshaller(new ActiveMQMessageMarshaller());
+ format.addMarshaller(new ActiveMQObjectMessageMarshaller());
+ format.addMarshaller(new ActiveMQQueueMarshaller());
+ format.addMarshaller(new ActiveMQStreamMessageMarshaller());
+ format.addMarshaller(new ActiveMQTempQueueMarshaller());
+ format.addMarshaller(new ActiveMQTempTopicMarshaller());
+ format.addMarshaller(new ActiveMQTextMessageMarshaller());
+ format.addMarshaller(new ActiveMQTopicMarshaller());
+ format.addMarshaller(new BrokerIdMarshaller());
+ format.addMarshaller(new BrokerInfoMarshaller());
+ format.addMarshaller(new ConnectionControlMarshaller());
+ format.addMarshaller(new ConnectionErrorMarshaller());
+ format.addMarshaller(new ConnectionIdMarshaller());
+ format.addMarshaller(new ConnectionInfoMarshaller());
+ format.addMarshaller(new ConsumerControlMarshaller());
+ format.addMarshaller(new ConsumerIdMarshaller());
+ format.addMarshaller(new ConsumerInfoMarshaller());
+ format.addMarshaller(new ControlCommandMarshaller());
+ format.addMarshaller(new DataArrayResponseMarshaller());
+ format.addMarshaller(new DataResponseMarshaller());
+ format.addMarshaller(new DestinationInfoMarshaller());
+ format.addMarshaller(new DiscoveryEventMarshaller());
+ format.addMarshaller(new ExceptionResponseMarshaller());
+ format.addMarshaller(new FlushCommandMarshaller());
+ format.addMarshaller(new IntegerResponseMarshaller());
+ format.addMarshaller(new JournalQueueAckMarshaller());
+ format.addMarshaller(new JournalTopicAckMarshaller());
+ format.addMarshaller(new JournalTraceMarshaller());
+ format.addMarshaller(new JournalTransactionMarshaller());
+ format.addMarshaller(new KeepAliveInfoMarshaller());
+ format.addMarshaller(new LastPartialCommandMarshaller());
+ format.addMarshaller(new LocalTransactionIdMarshaller());
+ format.addMarshaller(new MessageAckMarshaller());
+ format.addMarshaller(new MessageDispatchMarshaller());
+ format.addMarshaller(new MessageDispatchNotificationMarshaller());
+ format.addMarshaller(new MessageIdMarshaller());
+ format.addMarshaller(new MessagePullMarshaller());
+ format.addMarshaller(new NetworkBridgeFilterMarshaller());
+ format.addMarshaller(new PartialCommandMarshaller());
+ format.addMarshaller(new ProducerAckMarshaller());
+ format.addMarshaller(new ProducerIdMarshaller());
+ format.addMarshaller(new ProducerInfoMarshaller());
+ format.addMarshaller(new RemoveInfoMarshaller());
+ format.addMarshaller(new RemoveSubscriptionInfoMarshaller());
+ format.addMarshaller(new ReplayCommandMarshaller());
+ format.addMarshaller(new ResponseMarshaller());
+ format.addMarshaller(new SessionIdMarshaller());
+ format.addMarshaller(new SessionInfoMarshaller());
+ format.addMarshaller(new ShutdownInfoMarshaller());
+ format.addMarshaller(new SubscriptionInfoMarshaller());
+ format.addMarshaller(new TransactionInfoMarshaller());
+ format.addMarshaller(new WireFormatInfoMarshaller());
+ format.addMarshaller(new XATransactionIdMarshaller());
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/MessageAckMarshaller.cs b/src/main/csharp/OpenWire/V10/MessageAckMarshaller.cs
new file mode 100644
index 0000000..47c0963
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/MessageAckMarshaller.cs
@@ -0,0 +1,147 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for MessageAck
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for MessageAck
+ /// </summary>
+ class MessageAckMarshaller : BaseCommandMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new MessageAck();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return MessageAck.ID_MESSAGEACK;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ MessageAck info = (MessageAck)o;
+ info.Destination = (ActiveMQDestination) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.TransactionId = (TransactionId) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.ConsumerId = (ConsumerId) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.AckType = dataIn.ReadByte();
+ info.FirstMessageId = (MessageId) TightUnmarshalNestedObject(wireFormat, dataIn, bs);
+ info.LastMessageId = (MessageId) TightUnmarshalNestedObject(wireFormat, dataIn, bs);
+ info.MessageCount = dataIn.ReadInt32();
+ info.PoisonCause = TightUnmarshalBrokerError(wireFormat, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ MessageAck info = (MessageAck)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.Destination, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.TransactionId, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.ConsumerId, bs);
+ rc += TightMarshalNestedObject1(wireFormat, (DataStructure)info.FirstMessageId, bs);
+ rc += TightMarshalNestedObject1(wireFormat, (DataStructure)info.LastMessageId, bs);
+ rc += TightMarshalBrokerError1(wireFormat, info.PoisonCause, bs);
+
+ return rc + 5;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ MessageAck info = (MessageAck)o;
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.Destination, dataOut, bs);
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.TransactionId, dataOut, bs);
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.ConsumerId, dataOut, bs);
+ dataOut.Write(info.AckType);
+ TightMarshalNestedObject2(wireFormat, (DataStructure)info.FirstMessageId, dataOut, bs);
+ TightMarshalNestedObject2(wireFormat, (DataStructure)info.LastMessageId, dataOut, bs);
+ dataOut.Write(info.MessageCount);
+ TightMarshalBrokerError2(wireFormat, info.PoisonCause, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ MessageAck info = (MessageAck)o;
+ info.Destination = (ActiveMQDestination) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.TransactionId = (TransactionId) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.ConsumerId = (ConsumerId) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.AckType = dataIn.ReadByte();
+ info.FirstMessageId = (MessageId) LooseUnmarshalNestedObject(wireFormat, dataIn);
+ info.LastMessageId = (MessageId) LooseUnmarshalNestedObject(wireFormat, dataIn);
+ info.MessageCount = dataIn.ReadInt32();
+ info.PoisonCause = LooseUnmarshalBrokerError(wireFormat, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ MessageAck info = (MessageAck)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.Destination, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.TransactionId, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.ConsumerId, dataOut);
+ dataOut.Write(info.AckType);
+ LooseMarshalNestedObject(wireFormat, (DataStructure)info.FirstMessageId, dataOut);
+ LooseMarshalNestedObject(wireFormat, (DataStructure)info.LastMessageId, dataOut);
+ dataOut.Write(info.MessageCount);
+ LooseMarshalBrokerError(wireFormat, info.PoisonCause, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/MessageDispatchMarshaller.cs b/src/main/csharp/OpenWire/V10/MessageDispatchMarshaller.cs
new file mode 100644
index 0000000..75dad06
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/MessageDispatchMarshaller.cs
@@ -0,0 +1,128 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for MessageDispatch
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for MessageDispatch
+ /// </summary>
+ class MessageDispatchMarshaller : BaseCommandMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new MessageDispatch();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return MessageDispatch.ID_MESSAGEDISPATCH;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ MessageDispatch info = (MessageDispatch)o;
+ info.ConsumerId = (ConsumerId) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.Destination = (ActiveMQDestination) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.Message = (Message) TightUnmarshalNestedObject(wireFormat, dataIn, bs);
+ info.RedeliveryCounter = dataIn.ReadInt32();
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ MessageDispatch info = (MessageDispatch)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.ConsumerId, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.Destination, bs);
+ rc += TightMarshalNestedObject1(wireFormat, (DataStructure)info.Message, bs);
+
+ return rc + 4;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ MessageDispatch info = (MessageDispatch)o;
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.ConsumerId, dataOut, bs);
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.Destination, dataOut, bs);
+ TightMarshalNestedObject2(wireFormat, (DataStructure)info.Message, dataOut, bs);
+ dataOut.Write(info.RedeliveryCounter);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ MessageDispatch info = (MessageDispatch)o;
+ info.ConsumerId = (ConsumerId) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.Destination = (ActiveMQDestination) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.Message = (Message) LooseUnmarshalNestedObject(wireFormat, dataIn);
+ info.RedeliveryCounter = dataIn.ReadInt32();
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ MessageDispatch info = (MessageDispatch)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.ConsumerId, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.Destination, dataOut);
+ LooseMarshalNestedObject(wireFormat, (DataStructure)info.Message, dataOut);
+ dataOut.Write(info.RedeliveryCounter);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/MessageDispatchNotificationMarshaller.cs b/src/main/csharp/OpenWire/V10/MessageDispatchNotificationMarshaller.cs
new file mode 100644
index 0000000..0d20036
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/MessageDispatchNotificationMarshaller.cs
@@ -0,0 +1,129 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for MessageDispatchNotification
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for MessageDispatchNotification
+ /// </summary>
+ class MessageDispatchNotificationMarshaller : BaseCommandMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new MessageDispatchNotification();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return MessageDispatchNotification.ID_MESSAGEDISPATCHNOTIFICATION;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ MessageDispatchNotification info = (MessageDispatchNotification)o;
+ info.ConsumerId = (ConsumerId) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.Destination = (ActiveMQDestination) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.DeliverySequenceId = TightUnmarshalLong(wireFormat, dataIn, bs);
+ info.MessageId = (MessageId) TightUnmarshalNestedObject(wireFormat, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ MessageDispatchNotification info = (MessageDispatchNotification)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.ConsumerId, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.Destination, bs);
+ rc += TightMarshalLong1(wireFormat, info.DeliverySequenceId, bs);
+ rc += TightMarshalNestedObject1(wireFormat, (DataStructure)info.MessageId, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ MessageDispatchNotification info = (MessageDispatchNotification)o;
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.ConsumerId, dataOut, bs);
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.Destination, dataOut, bs);
+ TightMarshalLong2(wireFormat, info.DeliverySequenceId, dataOut, bs);
+ TightMarshalNestedObject2(wireFormat, (DataStructure)info.MessageId, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ MessageDispatchNotification info = (MessageDispatchNotification)o;
+ info.ConsumerId = (ConsumerId) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.Destination = (ActiveMQDestination) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.DeliverySequenceId = LooseUnmarshalLong(wireFormat, dataIn);
+ info.MessageId = (MessageId) LooseUnmarshalNestedObject(wireFormat, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ MessageDispatchNotification info = (MessageDispatchNotification)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.ConsumerId, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.Destination, dataOut);
+ LooseMarshalLong(wireFormat, info.DeliverySequenceId, dataOut);
+ LooseMarshalNestedObject(wireFormat, (DataStructure)info.MessageId, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/MessageIdMarshaller.cs b/src/main/csharp/OpenWire/V10/MessageIdMarshaller.cs
new file mode 100644
index 0000000..fba3d11
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/MessageIdMarshaller.cs
@@ -0,0 +1,129 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for MessageId
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for MessageId
+ /// </summary>
+ class MessageIdMarshaller : BaseDataStreamMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new MessageId();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return MessageId.ID_MESSAGEID;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ MessageId info = (MessageId)o;
+ info.TextView = TightUnmarshalString(dataIn, bs);
+ info.ProducerId = (ProducerId) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.ProducerSequenceId = TightUnmarshalLong(wireFormat, dataIn, bs);
+ info.BrokerSequenceId = TightUnmarshalLong(wireFormat, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ MessageId info = (MessageId)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalString1(info.TextView, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.ProducerId, bs);
+ rc += TightMarshalLong1(wireFormat, info.ProducerSequenceId, bs);
+ rc += TightMarshalLong1(wireFormat, info.BrokerSequenceId, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ MessageId info = (MessageId)o;
+ TightMarshalString2(info.TextView, dataOut, bs);
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.ProducerId, dataOut, bs);
+ TightMarshalLong2(wireFormat, info.ProducerSequenceId, dataOut, bs);
+ TightMarshalLong2(wireFormat, info.BrokerSequenceId, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ MessageId info = (MessageId)o;
+ info.TextView = LooseUnmarshalString(dataIn);
+ info.ProducerId = (ProducerId) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.ProducerSequenceId = LooseUnmarshalLong(wireFormat, dataIn);
+ info.BrokerSequenceId = LooseUnmarshalLong(wireFormat, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ MessageId info = (MessageId)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalString(info.TextView, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.ProducerId, dataOut);
+ LooseMarshalLong(wireFormat, info.ProducerSequenceId, dataOut);
+ LooseMarshalLong(wireFormat, info.BrokerSequenceId, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/MessageMarshaller.cs b/src/main/csharp/OpenWire/V10/MessageMarshaller.cs
new file mode 100644
index 0000000..291c076
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/MessageMarshaller.cs
@@ -0,0 +1,301 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for Message
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for Message
+ /// </summary>
+ abstract class MessageMarshaller : BaseCommandMarshaller
+ {
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ Message info = (Message)o;
+ info.ProducerId = (ProducerId) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.Destination = (ActiveMQDestination) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.TransactionId = (TransactionId) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.OriginalDestination = (ActiveMQDestination) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.MessageId = (MessageId) TightUnmarshalNestedObject(wireFormat, dataIn, bs);
+ info.OriginalTransactionId = (TransactionId) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.GroupID = TightUnmarshalString(dataIn, bs);
+ info.GroupSequence = dataIn.ReadInt32();
+ info.CorrelationId = TightUnmarshalString(dataIn, bs);
+ info.Persistent = bs.ReadBoolean();
+ info.Expiration = TightUnmarshalLong(wireFormat, dataIn, bs);
+ info.Priority = dataIn.ReadByte();
+ info.ReplyTo = (ActiveMQDestination) TightUnmarshalNestedObject(wireFormat, dataIn, bs);
+ info.Timestamp = TightUnmarshalLong(wireFormat, dataIn, bs);
+ info.Type = TightUnmarshalString(dataIn, bs);
+ info.Content = ReadBytes(dataIn, bs.ReadBoolean());
+ info.MarshalledProperties = ReadBytes(dataIn, bs.ReadBoolean());
+ info.DataStructure = (DataStructure) TightUnmarshalNestedObject(wireFormat, dataIn, bs);
+ info.TargetConsumerId = (ConsumerId) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.Compressed = bs.ReadBoolean();
+ info.RedeliveryCounter = dataIn.ReadInt32();
+
+ if (bs.ReadBoolean()) {
+ short size = dataIn.ReadInt16();
+ BrokerId[] value = new BrokerId[size];
+ for( int i=0; i < size; i++ ) {
+ value[i] = (BrokerId) TightUnmarshalNestedObject(wireFormat,dataIn, bs);
+ }
+ info.BrokerPath = value;
+ }
+ else {
+ info.BrokerPath = null;
+ }
+ info.Arrival = TightUnmarshalLong(wireFormat, dataIn, bs);
+ info.UserID = TightUnmarshalString(dataIn, bs);
+ info.RecievedByDFBridge = bs.ReadBoolean();
+ info.Droppable = bs.ReadBoolean();
+
+ if (bs.ReadBoolean()) {
+ short size = dataIn.ReadInt16();
+ BrokerId[] value = new BrokerId[size];
+ for( int i=0; i < size; i++ ) {
+ value[i] = (BrokerId) TightUnmarshalNestedObject(wireFormat,dataIn, bs);
+ }
+ info.Cluster = value;
+ }
+ else {
+ info.Cluster = null;
+ }
+ info.BrokerInTime = TightUnmarshalLong(wireFormat, dataIn, bs);
+ info.BrokerOutTime = TightUnmarshalLong(wireFormat, dataIn, bs);
+ info.JMSXGroupFirstForConsumer = bs.ReadBoolean();
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ Message info = (Message)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.ProducerId, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.Destination, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.TransactionId, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.OriginalDestination, bs);
+ rc += TightMarshalNestedObject1(wireFormat, (DataStructure)info.MessageId, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.OriginalTransactionId, bs);
+ rc += TightMarshalString1(info.GroupID, bs);
+ rc += TightMarshalString1(info.CorrelationId, bs);
+ bs.WriteBoolean(info.Persistent);
+ rc += TightMarshalLong1(wireFormat, info.Expiration, bs);
+ rc += TightMarshalNestedObject1(wireFormat, (DataStructure)info.ReplyTo, bs);
+ rc += TightMarshalLong1(wireFormat, info.Timestamp, bs);
+ rc += TightMarshalString1(info.Type, bs);
+ bs.WriteBoolean(info.Content!=null);
+ rc += info.Content==null ? 0 : info.Content.Length+4;
+ bs.WriteBoolean(info.MarshalledProperties!=null);
+ rc += info.MarshalledProperties==null ? 0 : info.MarshalledProperties.Length+4;
+ rc += TightMarshalNestedObject1(wireFormat, (DataStructure)info.DataStructure, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.TargetConsumerId, bs);
+ bs.WriteBoolean(info.Compressed);
+ rc += TightMarshalObjectArray1(wireFormat, info.BrokerPath, bs);
+ rc += TightMarshalLong1(wireFormat, info.Arrival, bs);
+ rc += TightMarshalString1(info.UserID, bs);
+ bs.WriteBoolean(info.RecievedByDFBridge);
+ bs.WriteBoolean(info.Droppable);
+ rc += TightMarshalObjectArray1(wireFormat, info.Cluster, bs);
+ rc += TightMarshalLong1(wireFormat, info.BrokerInTime, bs);
+ rc += TightMarshalLong1(wireFormat, info.BrokerOutTime, bs);
+ bs.WriteBoolean(info.JMSXGroupFirstForConsumer);
+
+ return rc + 9;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ Message info = (Message)o;
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.ProducerId, dataOut, bs);
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.Destination, dataOut, bs);
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.TransactionId, dataOut, bs);
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.OriginalDestination, dataOut, bs);
+ TightMarshalNestedObject2(wireFormat, (DataStructure)info.MessageId, dataOut, bs);
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.OriginalTransactionId, dataOut, bs);
+ TightMarshalString2(info.GroupID, dataOut, bs);
+ dataOut.Write(info.GroupSequence);
+ TightMarshalString2(info.CorrelationId, dataOut, bs);
+ bs.ReadBoolean();
+ TightMarshalLong2(wireFormat, info.Expiration, dataOut, bs);
+ dataOut.Write(info.Priority);
+ TightMarshalNestedObject2(wireFormat, (DataStructure)info.ReplyTo, dataOut, bs);
+ TightMarshalLong2(wireFormat, info.Timestamp, dataOut, bs);
+ TightMarshalString2(info.Type, dataOut, bs);
+ if(bs.ReadBoolean()) {
+ dataOut.Write(info.Content.Length);
+ dataOut.Write(info.Content);
+ }
+ if(bs.ReadBoolean()) {
+ dataOut.Write(info.MarshalledProperties.Length);
+ dataOut.Write(info.MarshalledProperties);
+ }
+ TightMarshalNestedObject2(wireFormat, (DataStructure)info.DataStructure, dataOut, bs);
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.TargetConsumerId, dataOut, bs);
+ bs.ReadBoolean();
+ dataOut.Write(info.RedeliveryCounter);
+ TightMarshalObjectArray2(wireFormat, info.BrokerPath, dataOut, bs);
+ TightMarshalLong2(wireFormat, info.Arrival, dataOut, bs);
+ TightMarshalString2(info.UserID, dataOut, bs);
+ bs.ReadBoolean();
+ bs.ReadBoolean();
+ TightMarshalObjectArray2(wireFormat, info.Cluster, dataOut, bs);
+ TightMarshalLong2(wireFormat, info.BrokerInTime, dataOut, bs);
+ TightMarshalLong2(wireFormat, info.BrokerOutTime, dataOut, bs);
+ bs.ReadBoolean();
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ Message info = (Message)o;
+ info.ProducerId = (ProducerId) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.Destination = (ActiveMQDestination) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.TransactionId = (TransactionId) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.OriginalDestination = (ActiveMQDestination) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.MessageId = (MessageId) LooseUnmarshalNestedObject(wireFormat, dataIn);
+ info.OriginalTransactionId = (TransactionId) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.GroupID = LooseUnmarshalString(dataIn);
+ info.GroupSequence = dataIn.ReadInt32();
+ info.CorrelationId = LooseUnmarshalString(dataIn);
+ info.Persistent = dataIn.ReadBoolean();
+ info.Expiration = LooseUnmarshalLong(wireFormat, dataIn);
+ info.Priority = dataIn.ReadByte();
+ info.ReplyTo = (ActiveMQDestination) LooseUnmarshalNestedObject(wireFormat, dataIn);
+ info.Timestamp = LooseUnmarshalLong(wireFormat, dataIn);
+ info.Type = LooseUnmarshalString(dataIn);
+ info.Content = ReadBytes(dataIn, dataIn.ReadBoolean());
+ info.MarshalledProperties = ReadBytes(dataIn, dataIn.ReadBoolean());
+ info.DataStructure = (DataStructure) LooseUnmarshalNestedObject(wireFormat, dataIn);
+ info.TargetConsumerId = (ConsumerId) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.Compressed = dataIn.ReadBoolean();
+ info.RedeliveryCounter = dataIn.ReadInt32();
+
+ if (dataIn.ReadBoolean()) {
+ short size = dataIn.ReadInt16();
+ BrokerId[] value = new BrokerId[size];
+ for( int i=0; i < size; i++ ) {
+ value[i] = (BrokerId) LooseUnmarshalNestedObject(wireFormat,dataIn);
+ }
+ info.BrokerPath = value;
+ }
+ else {
+ info.BrokerPath = null;
+ }
+ info.Arrival = LooseUnmarshalLong(wireFormat, dataIn);
+ info.UserID = LooseUnmarshalString(dataIn);
+ info.RecievedByDFBridge = dataIn.ReadBoolean();
+ info.Droppable = dataIn.ReadBoolean();
+
+ if (dataIn.ReadBoolean()) {
+ short size = dataIn.ReadInt16();
+ BrokerId[] value = new BrokerId[size];
+ for( int i=0; i < size; i++ ) {
+ value[i] = (BrokerId) LooseUnmarshalNestedObject(wireFormat,dataIn);
+ }
+ info.Cluster = value;
+ }
+ else {
+ info.Cluster = null;
+ }
+ info.BrokerInTime = LooseUnmarshalLong(wireFormat, dataIn);
+ info.BrokerOutTime = LooseUnmarshalLong(wireFormat, dataIn);
+ info.JMSXGroupFirstForConsumer = dataIn.ReadBoolean();
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ Message info = (Message)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.ProducerId, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.Destination, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.TransactionId, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.OriginalDestination, dataOut);
+ LooseMarshalNestedObject(wireFormat, (DataStructure)info.MessageId, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.OriginalTransactionId, dataOut);
+ LooseMarshalString(info.GroupID, dataOut);
+ dataOut.Write(info.GroupSequence);
+ LooseMarshalString(info.CorrelationId, dataOut);
+ dataOut.Write(info.Persistent);
+ LooseMarshalLong(wireFormat, info.Expiration, dataOut);
+ dataOut.Write(info.Priority);
+ LooseMarshalNestedObject(wireFormat, (DataStructure)info.ReplyTo, dataOut);
+ LooseMarshalLong(wireFormat, info.Timestamp, dataOut);
+ LooseMarshalString(info.Type, dataOut);
+ dataOut.Write(info.Content!=null);
+ if(info.Content!=null) {
+ dataOut.Write(info.Content.Length);
+ dataOut.Write(info.Content);
+ }
+ dataOut.Write(info.MarshalledProperties!=null);
+ if(info.MarshalledProperties!=null) {
+ dataOut.Write(info.MarshalledProperties.Length);
+ dataOut.Write(info.MarshalledProperties);
+ }
+ LooseMarshalNestedObject(wireFormat, (DataStructure)info.DataStructure, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.TargetConsumerId, dataOut);
+ dataOut.Write(info.Compressed);
+ dataOut.Write(info.RedeliveryCounter);
+ LooseMarshalObjectArray(wireFormat, info.BrokerPath, dataOut);
+ LooseMarshalLong(wireFormat, info.Arrival, dataOut);
+ LooseMarshalString(info.UserID, dataOut);
+ dataOut.Write(info.RecievedByDFBridge);
+ dataOut.Write(info.Droppable);
+ LooseMarshalObjectArray(wireFormat, info.Cluster, dataOut);
+ LooseMarshalLong(wireFormat, info.BrokerInTime, dataOut);
+ LooseMarshalLong(wireFormat, info.BrokerOutTime, dataOut);
+ dataOut.Write(info.JMSXGroupFirstForConsumer);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/MessagePullMarshaller.cs b/src/main/csharp/OpenWire/V10/MessagePullMarshaller.cs
new file mode 100644
index 0000000..0042ff8
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/MessagePullMarshaller.cs
@@ -0,0 +1,134 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for MessagePull
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for MessagePull
+ /// </summary>
+ class MessagePullMarshaller : BaseCommandMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new MessagePull();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return MessagePull.ID_MESSAGEPULL;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ MessagePull info = (MessagePull)o;
+ info.ConsumerId = (ConsumerId) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.Destination = (ActiveMQDestination) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.Timeout = TightUnmarshalLong(wireFormat, dataIn, bs);
+ info.CorrelationId = TightUnmarshalString(dataIn, bs);
+ info.MessageId = (MessageId) TightUnmarshalNestedObject(wireFormat, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ MessagePull info = (MessagePull)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.ConsumerId, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.Destination, bs);
+ rc += TightMarshalLong1(wireFormat, info.Timeout, bs);
+ rc += TightMarshalString1(info.CorrelationId, bs);
+ rc += TightMarshalNestedObject1(wireFormat, (DataStructure)info.MessageId, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ MessagePull info = (MessagePull)o;
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.ConsumerId, dataOut, bs);
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.Destination, dataOut, bs);
+ TightMarshalLong2(wireFormat, info.Timeout, dataOut, bs);
+ TightMarshalString2(info.CorrelationId, dataOut, bs);
+ TightMarshalNestedObject2(wireFormat, (DataStructure)info.MessageId, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ MessagePull info = (MessagePull)o;
+ info.ConsumerId = (ConsumerId) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.Destination = (ActiveMQDestination) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.Timeout = LooseUnmarshalLong(wireFormat, dataIn);
+ info.CorrelationId = LooseUnmarshalString(dataIn);
+ info.MessageId = (MessageId) LooseUnmarshalNestedObject(wireFormat, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ MessagePull info = (MessagePull)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.ConsumerId, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.Destination, dataOut);
+ LooseMarshalLong(wireFormat, info.Timeout, dataOut);
+ LooseMarshalString(info.CorrelationId, dataOut);
+ LooseMarshalNestedObject(wireFormat, (DataStructure)info.MessageId, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/NetworkBridgeFilterMarshaller.cs b/src/main/csharp/OpenWire/V10/NetworkBridgeFilterMarshaller.cs
new file mode 100644
index 0000000..14497c2
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/NetworkBridgeFilterMarshaller.cs
@@ -0,0 +1,122 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for NetworkBridgeFilter
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for NetworkBridgeFilter
+ /// </summary>
+ class NetworkBridgeFilterMarshaller : BaseDataStreamMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new NetworkBridgeFilter();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return NetworkBridgeFilter.ID_NETWORKBRIDGEFILTER;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ NetworkBridgeFilter info = (NetworkBridgeFilter)o;
+ info.NetworkBrokerId = (BrokerId) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.MessageTTL = dataIn.ReadInt32();
+ info.ConsumerTTL = dataIn.ReadInt32();
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ NetworkBridgeFilter info = (NetworkBridgeFilter)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.NetworkBrokerId, bs);
+
+ return rc + 8;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ NetworkBridgeFilter info = (NetworkBridgeFilter)o;
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.NetworkBrokerId, dataOut, bs);
+ dataOut.Write(info.MessageTTL);
+ dataOut.Write(info.ConsumerTTL);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ NetworkBridgeFilter info = (NetworkBridgeFilter)o;
+ info.NetworkBrokerId = (BrokerId) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.MessageTTL = dataIn.ReadInt32();
+ info.ConsumerTTL = dataIn.ReadInt32();
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ NetworkBridgeFilter info = (NetworkBridgeFilter)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.NetworkBrokerId, dataOut);
+ dataOut.Write(info.MessageTTL);
+ dataOut.Write(info.ConsumerTTL);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/PartialCommandMarshaller.cs b/src/main/csharp/OpenWire/V10/PartialCommandMarshaller.cs
new file mode 100644
index 0000000..9d074e5
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/PartialCommandMarshaller.cs
@@ -0,0 +1,126 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for PartialCommand
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for PartialCommand
+ /// </summary>
+ class PartialCommandMarshaller : BaseDataStreamMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new PartialCommand();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return PartialCommand.ID_PARTIALCOMMAND;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ PartialCommand info = (PartialCommand)o;
+ info.CommandId = dataIn.ReadInt32();
+ info.Data = ReadBytes(dataIn, bs.ReadBoolean());
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ PartialCommand info = (PartialCommand)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ bs.WriteBoolean(info.Data!=null);
+ rc += info.Data==null ? 0 : info.Data.Length+4;
+
+ return rc + 4;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ PartialCommand info = (PartialCommand)o;
+ dataOut.Write(info.CommandId);
+ if(bs.ReadBoolean()) {
+ dataOut.Write(info.Data.Length);
+ dataOut.Write(info.Data);
+ }
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ PartialCommand info = (PartialCommand)o;
+ info.CommandId = dataIn.ReadInt32();
+ info.Data = ReadBytes(dataIn, dataIn.ReadBoolean());
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ PartialCommand info = (PartialCommand)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ dataOut.Write(info.CommandId);
+ dataOut.Write(info.Data!=null);
+ if(info.Data!=null) {
+ dataOut.Write(info.Data.Length);
+ dataOut.Write(info.Data);
+ }
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/ProducerAckMarshaller.cs b/src/main/csharp/OpenWire/V10/ProducerAckMarshaller.cs
new file mode 100644
index 0000000..99d4264
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ProducerAckMarshaller.cs
@@ -0,0 +1,118 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for ProducerAck
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for ProducerAck
+ /// </summary>
+ class ProducerAckMarshaller : BaseCommandMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new ProducerAck();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return ProducerAck.ID_PRODUCERACK;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ ProducerAck info = (ProducerAck)o;
+ info.ProducerId = (ProducerId) TightUnmarshalNestedObject(wireFormat, dataIn, bs);
+ info.Size = dataIn.ReadInt32();
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ ProducerAck info = (ProducerAck)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalNestedObject1(wireFormat, (DataStructure)info.ProducerId, bs);
+
+ return rc + 4;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ ProducerAck info = (ProducerAck)o;
+ TightMarshalNestedObject2(wireFormat, (DataStructure)info.ProducerId, dataOut, bs);
+ dataOut.Write(info.Size);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ ProducerAck info = (ProducerAck)o;
+ info.ProducerId = (ProducerId) LooseUnmarshalNestedObject(wireFormat, dataIn);
+ info.Size = dataIn.ReadInt32();
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ ProducerAck info = (ProducerAck)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalNestedObject(wireFormat, (DataStructure)info.ProducerId, dataOut);
+ dataOut.Write(info.Size);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/ProducerIdMarshaller.cs b/src/main/csharp/OpenWire/V10/ProducerIdMarshaller.cs
new file mode 100644
index 0000000..8e15a47
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ProducerIdMarshaller.cs
@@ -0,0 +1,124 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for ProducerId
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for ProducerId
+ /// </summary>
+ class ProducerIdMarshaller : BaseDataStreamMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new ProducerId();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return ProducerId.ID_PRODUCERID;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ ProducerId info = (ProducerId)o;
+ info.ConnectionId = TightUnmarshalString(dataIn, bs);
+ info.Value = TightUnmarshalLong(wireFormat, dataIn, bs);
+ info.SessionId = TightUnmarshalLong(wireFormat, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ ProducerId info = (ProducerId)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalString1(info.ConnectionId, bs);
+ rc += TightMarshalLong1(wireFormat, info.Value, bs);
+ rc += TightMarshalLong1(wireFormat, info.SessionId, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ ProducerId info = (ProducerId)o;
+ TightMarshalString2(info.ConnectionId, dataOut, bs);
+ TightMarshalLong2(wireFormat, info.Value, dataOut, bs);
+ TightMarshalLong2(wireFormat, info.SessionId, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ ProducerId info = (ProducerId)o;
+ info.ConnectionId = LooseUnmarshalString(dataIn);
+ info.Value = LooseUnmarshalLong(wireFormat, dataIn);
+ info.SessionId = LooseUnmarshalLong(wireFormat, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ ProducerId info = (ProducerId)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalString(info.ConnectionId, dataOut);
+ LooseMarshalLong(wireFormat, info.Value, dataOut);
+ LooseMarshalLong(wireFormat, info.SessionId, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/ProducerInfoMarshaller.cs b/src/main/csharp/OpenWire/V10/ProducerInfoMarshaller.cs
new file mode 100644
index 0000000..d96d2a2
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ProducerInfoMarshaller.cs
@@ -0,0 +1,155 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for ProducerInfo
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for ProducerInfo
+ /// </summary>
+ class ProducerInfoMarshaller : BaseCommandMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new ProducerInfo();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return ProducerInfo.ID_PRODUCERINFO;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ ProducerInfo info = (ProducerInfo)o;
+ info.ProducerId = (ProducerId) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.Destination = (ActiveMQDestination) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+
+ if (bs.ReadBoolean()) {
+ short size = dataIn.ReadInt16();
+ BrokerId[] value = new BrokerId[size];
+ for( int i=0; i < size; i++ ) {
+ value[i] = (BrokerId) TightUnmarshalNestedObject(wireFormat,dataIn, bs);
+ }
+ info.BrokerPath = value;
+ }
+ else {
+ info.BrokerPath = null;
+ }
+ info.DispatchAsync = bs.ReadBoolean();
+ info.WindowSize = dataIn.ReadInt32();
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ ProducerInfo info = (ProducerInfo)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.ProducerId, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.Destination, bs);
+ rc += TightMarshalObjectArray1(wireFormat, info.BrokerPath, bs);
+ bs.WriteBoolean(info.DispatchAsync);
+
+ return rc + 4;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ ProducerInfo info = (ProducerInfo)o;
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.ProducerId, dataOut, bs);
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.Destination, dataOut, bs);
+ TightMarshalObjectArray2(wireFormat, info.BrokerPath, dataOut, bs);
+ bs.ReadBoolean();
+ dataOut.Write(info.WindowSize);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ ProducerInfo info = (ProducerInfo)o;
+ info.ProducerId = (ProducerId) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.Destination = (ActiveMQDestination) LooseUnmarshalCachedObject(wireFormat, dataIn);
+
+ if (dataIn.ReadBoolean()) {
+ short size = dataIn.ReadInt16();
+ BrokerId[] value = new BrokerId[size];
+ for( int i=0; i < size; i++ ) {
+ value[i] = (BrokerId) LooseUnmarshalNestedObject(wireFormat,dataIn);
+ }
+ info.BrokerPath = value;
+ }
+ else {
+ info.BrokerPath = null;
+ }
+ info.DispatchAsync = dataIn.ReadBoolean();
+ info.WindowSize = dataIn.ReadInt32();
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ ProducerInfo info = (ProducerInfo)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.ProducerId, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.Destination, dataOut);
+ LooseMarshalObjectArray(wireFormat, info.BrokerPath, dataOut);
+ dataOut.Write(info.DispatchAsync);
+ dataOut.Write(info.WindowSize);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/RemoveInfoMarshaller.cs b/src/main/csharp/OpenWire/V10/RemoveInfoMarshaller.cs
new file mode 100644
index 0000000..aae322e
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/RemoveInfoMarshaller.cs
@@ -0,0 +1,119 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for RemoveInfo
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for RemoveInfo
+ /// </summary>
+ class RemoveInfoMarshaller : BaseCommandMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new RemoveInfo();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return RemoveInfo.ID_REMOVEINFO;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ RemoveInfo info = (RemoveInfo)o;
+ info.ObjectId = (DataStructure) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.LastDeliveredSequenceId = TightUnmarshalLong(wireFormat, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ RemoveInfo info = (RemoveInfo)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.ObjectId, bs);
+ rc += TightMarshalLong1(wireFormat, info.LastDeliveredSequenceId, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ RemoveInfo info = (RemoveInfo)o;
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.ObjectId, dataOut, bs);
+ TightMarshalLong2(wireFormat, info.LastDeliveredSequenceId, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ RemoveInfo info = (RemoveInfo)o;
+ info.ObjectId = (DataStructure) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.LastDeliveredSequenceId = LooseUnmarshalLong(wireFormat, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ RemoveInfo info = (RemoveInfo)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.ObjectId, dataOut);
+ LooseMarshalLong(wireFormat, info.LastDeliveredSequenceId, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/RemoveSubscriptionInfoMarshaller.cs b/src/main/csharp/OpenWire/V10/RemoveSubscriptionInfoMarshaller.cs
new file mode 100644
index 0000000..0846c1f
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/RemoveSubscriptionInfoMarshaller.cs
@@ -0,0 +1,124 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for RemoveSubscriptionInfo
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for RemoveSubscriptionInfo
+ /// </summary>
+ class RemoveSubscriptionInfoMarshaller : BaseCommandMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new RemoveSubscriptionInfo();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return RemoveSubscriptionInfo.ID_REMOVESUBSCRIPTIONINFO;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ RemoveSubscriptionInfo info = (RemoveSubscriptionInfo)o;
+ info.ConnectionId = (ConnectionId) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.SubcriptionName = TightUnmarshalString(dataIn, bs);
+ info.ClientId = TightUnmarshalString(dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ RemoveSubscriptionInfo info = (RemoveSubscriptionInfo)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.ConnectionId, bs);
+ rc += TightMarshalString1(info.SubcriptionName, bs);
+ rc += TightMarshalString1(info.ClientId, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ RemoveSubscriptionInfo info = (RemoveSubscriptionInfo)o;
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.ConnectionId, dataOut, bs);
+ TightMarshalString2(info.SubcriptionName, dataOut, bs);
+ TightMarshalString2(info.ClientId, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ RemoveSubscriptionInfo info = (RemoveSubscriptionInfo)o;
+ info.ConnectionId = (ConnectionId) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.SubcriptionName = LooseUnmarshalString(dataIn);
+ info.ClientId = LooseUnmarshalString(dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ RemoveSubscriptionInfo info = (RemoveSubscriptionInfo)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.ConnectionId, dataOut);
+ LooseMarshalString(info.SubcriptionName, dataOut);
+ LooseMarshalString(info.ClientId, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/ReplayCommandMarshaller.cs b/src/main/csharp/OpenWire/V10/ReplayCommandMarshaller.cs
new file mode 100644
index 0000000..0e1da64
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ReplayCommandMarshaller.cs
@@ -0,0 +1,116 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for ReplayCommand
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for ReplayCommand
+ /// </summary>
+ class ReplayCommandMarshaller : BaseCommandMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new ReplayCommand();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return ReplayCommand.ID_REPLAYCOMMAND;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ ReplayCommand info = (ReplayCommand)o;
+ info.FirstNakNumber = dataIn.ReadInt32();
+ info.LastNakNumber = dataIn.ReadInt32();
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+
+ return rc + 8;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ ReplayCommand info = (ReplayCommand)o;
+ dataOut.Write(info.FirstNakNumber);
+ dataOut.Write(info.LastNakNumber);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ ReplayCommand info = (ReplayCommand)o;
+ info.FirstNakNumber = dataIn.ReadInt32();
+ info.LastNakNumber = dataIn.ReadInt32();
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ ReplayCommand info = (ReplayCommand)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ dataOut.Write(info.FirstNakNumber);
+ dataOut.Write(info.LastNakNumber);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/ResponseMarshaller.cs b/src/main/csharp/OpenWire/V10/ResponseMarshaller.cs
new file mode 100644
index 0000000..2c10145
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ResponseMarshaller.cs
@@ -0,0 +1,112 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for Response
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for Response
+ /// </summary>
+ class ResponseMarshaller : BaseCommandMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new Response();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return Response.ID_RESPONSE;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ Response info = (Response)o;
+ info.CorrelationId = dataIn.ReadInt32();
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+
+ return rc + 4;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ Response info = (Response)o;
+ dataOut.Write(info.CorrelationId);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ Response info = (Response)o;
+ info.CorrelationId = dataIn.ReadInt32();
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ Response info = (Response)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ dataOut.Write(info.CorrelationId);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/SessionIdMarshaller.cs b/src/main/csharp/OpenWire/V10/SessionIdMarshaller.cs
new file mode 100644
index 0000000..46e608c
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/SessionIdMarshaller.cs
@@ -0,0 +1,119 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for SessionId
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for SessionId
+ /// </summary>
+ class SessionIdMarshaller : BaseDataStreamMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new SessionId();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return SessionId.ID_SESSIONID;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ SessionId info = (SessionId)o;
+ info.ConnectionId = TightUnmarshalString(dataIn, bs);
+ info.Value = TightUnmarshalLong(wireFormat, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ SessionId info = (SessionId)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalString1(info.ConnectionId, bs);
+ rc += TightMarshalLong1(wireFormat, info.Value, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ SessionId info = (SessionId)o;
+ TightMarshalString2(info.ConnectionId, dataOut, bs);
+ TightMarshalLong2(wireFormat, info.Value, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ SessionId info = (SessionId)o;
+ info.ConnectionId = LooseUnmarshalString(dataIn);
+ info.Value = LooseUnmarshalLong(wireFormat, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ SessionId info = (SessionId)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalString(info.ConnectionId, dataOut);
+ LooseMarshalLong(wireFormat, info.Value, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/SessionInfoMarshaller.cs b/src/main/csharp/OpenWire/V10/SessionInfoMarshaller.cs
new file mode 100644
index 0000000..9c02d9f
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/SessionInfoMarshaller.cs
@@ -0,0 +1,114 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for SessionInfo
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for SessionInfo
+ /// </summary>
+ class SessionInfoMarshaller : BaseCommandMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new SessionInfo();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return SessionInfo.ID_SESSIONINFO;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ SessionInfo info = (SessionInfo)o;
+ info.SessionId = (SessionId) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ SessionInfo info = (SessionInfo)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.SessionId, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ SessionInfo info = (SessionInfo)o;
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.SessionId, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ SessionInfo info = (SessionInfo)o;
+ info.SessionId = (SessionId) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ SessionInfo info = (SessionInfo)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.SessionId, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/ShutdownInfoMarshaller.cs b/src/main/csharp/OpenWire/V10/ShutdownInfoMarshaller.cs
new file mode 100644
index 0000000..b072f34
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/ShutdownInfoMarshaller.cs
@@ -0,0 +1,100 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for ShutdownInfo
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for ShutdownInfo
+ /// </summary>
+ class ShutdownInfoMarshaller : BaseCommandMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new ShutdownInfo();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return ShutdownInfo.ID_SHUTDOWNINFO;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/SubscriptionInfoMarshaller.cs b/src/main/csharp/OpenWire/V10/SubscriptionInfoMarshaller.cs
new file mode 100644
index 0000000..1ba48e9
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/SubscriptionInfoMarshaller.cs
@@ -0,0 +1,134 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for SubscriptionInfo
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for SubscriptionInfo
+ /// </summary>
+ class SubscriptionInfoMarshaller : BaseDataStreamMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new SubscriptionInfo();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return SubscriptionInfo.ID_SUBSCRIPTIONINFO;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ SubscriptionInfo info = (SubscriptionInfo)o;
+ info.ClientId = TightUnmarshalString(dataIn, bs);
+ info.Destination = (ActiveMQDestination) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.Selector = TightUnmarshalString(dataIn, bs);
+ info.SubcriptionName = TightUnmarshalString(dataIn, bs);
+ info.SubscribedDestination = (ActiveMQDestination) TightUnmarshalNestedObject(wireFormat, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ SubscriptionInfo info = (SubscriptionInfo)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalString1(info.ClientId, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.Destination, bs);
+ rc += TightMarshalString1(info.Selector, bs);
+ rc += TightMarshalString1(info.SubcriptionName, bs);
+ rc += TightMarshalNestedObject1(wireFormat, (DataStructure)info.SubscribedDestination, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ SubscriptionInfo info = (SubscriptionInfo)o;
+ TightMarshalString2(info.ClientId, dataOut, bs);
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.Destination, dataOut, bs);
+ TightMarshalString2(info.Selector, dataOut, bs);
+ TightMarshalString2(info.SubcriptionName, dataOut, bs);
+ TightMarshalNestedObject2(wireFormat, (DataStructure)info.SubscribedDestination, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ SubscriptionInfo info = (SubscriptionInfo)o;
+ info.ClientId = LooseUnmarshalString(dataIn);
+ info.Destination = (ActiveMQDestination) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.Selector = LooseUnmarshalString(dataIn);
+ info.SubcriptionName = LooseUnmarshalString(dataIn);
+ info.SubscribedDestination = (ActiveMQDestination) LooseUnmarshalNestedObject(wireFormat, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ SubscriptionInfo info = (SubscriptionInfo)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalString(info.ClientId, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.Destination, dataOut);
+ LooseMarshalString(info.Selector, dataOut);
+ LooseMarshalString(info.SubcriptionName, dataOut);
+ LooseMarshalNestedObject(wireFormat, (DataStructure)info.SubscribedDestination, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/TransactionIdMarshaller.cs b/src/main/csharp/OpenWire/V10/TransactionIdMarshaller.cs
new file mode 100644
index 0000000..4274639
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/TransactionIdMarshaller.cs
@@ -0,0 +1,85 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for TransactionId
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for TransactionId
+ /// </summary>
+ abstract class TransactionIdMarshaller : BaseDataStreamMarshaller
+ {
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+
+ return rc + 0;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/TransactionInfoMarshaller.cs b/src/main/csharp/OpenWire/V10/TransactionInfoMarshaller.cs
new file mode 100644
index 0000000..0ce77a0
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/TransactionInfoMarshaller.cs
@@ -0,0 +1,123 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for TransactionInfo
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for TransactionInfo
+ /// </summary>
+ class TransactionInfoMarshaller : BaseCommandMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new TransactionInfo();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return TransactionInfo.ID_TRANSACTIONINFO;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ TransactionInfo info = (TransactionInfo)o;
+ info.ConnectionId = (ConnectionId) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.TransactionId = (TransactionId) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
+ info.Type = dataIn.ReadByte();
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ TransactionInfo info = (TransactionInfo)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.ConnectionId, bs);
+ rc += TightMarshalCachedObject1(wireFormat, (DataStructure)info.TransactionId, bs);
+
+ return rc + 1;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ TransactionInfo info = (TransactionInfo)o;
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.ConnectionId, dataOut, bs);
+ TightMarshalCachedObject2(wireFormat, (DataStructure)info.TransactionId, dataOut, bs);
+ dataOut.Write(info.Type);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ TransactionInfo info = (TransactionInfo)o;
+ info.ConnectionId = (ConnectionId) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.TransactionId = (TransactionId) LooseUnmarshalCachedObject(wireFormat, dataIn);
+ info.Type = dataIn.ReadByte();
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ TransactionInfo info = (TransactionInfo)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.ConnectionId, dataOut);
+ LooseMarshalCachedObject(wireFormat, (DataStructure)info.TransactionId, dataOut);
+ dataOut.Write(info.Type);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/WireFormatInfoMarshaller.cs b/src/main/csharp/OpenWire/V10/WireFormatInfoMarshaller.cs
new file mode 100644
index 0000000..39707c4
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/WireFormatInfoMarshaller.cs
@@ -0,0 +1,148 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for WireFormatInfo
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for WireFormatInfo
+ /// </summary>
+ class WireFormatInfoMarshaller : BaseDataStreamMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new WireFormatInfo();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return WireFormatInfo.ID_WIREFORMATINFO;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ WireFormatInfo info = (WireFormatInfo)o;
+
+ info.BeforeUnmarshall(wireFormat);
+
+ info.Magic = ReadBytes(dataIn, 8);
+ info.Version = dataIn.ReadInt32();
+ info.MarshalledProperties = ReadBytes(dataIn, bs.ReadBoolean());
+
+ info.AfterUnmarshall(wireFormat);
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ WireFormatInfo info = (WireFormatInfo)o;
+
+ info.BeforeMarshall(wireFormat);
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ bs.WriteBoolean(info.MarshalledProperties!=null);
+ rc += info.MarshalledProperties==null ? 0 : info.MarshalledProperties.Length+4;
+
+ return rc + 12;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ WireFormatInfo info = (WireFormatInfo)o;
+ dataOut.Write(info.Magic, 0, 8);
+ dataOut.Write(info.Version);
+ if(bs.ReadBoolean()) {
+ dataOut.Write(info.MarshalledProperties.Length);
+ dataOut.Write(info.MarshalledProperties);
+ }
+
+ info.AfterMarshall(wireFormat);
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ WireFormatInfo info = (WireFormatInfo)o;
+
+ info.BeforeUnmarshall(wireFormat);
+
+ info.Magic = ReadBytes(dataIn, 8);
+ info.Version = dataIn.ReadInt32();
+ info.MarshalledProperties = ReadBytes(dataIn, dataIn.ReadBoolean());
+
+ info.AfterUnmarshall(wireFormat);
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ WireFormatInfo info = (WireFormatInfo)o;
+
+ info.BeforeMarshall(wireFormat);
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ dataOut.Write(info.Magic, 0, 8);
+ dataOut.Write(info.Version);
+ dataOut.Write(info.MarshalledProperties!=null);
+ if(info.MarshalledProperties!=null) {
+ dataOut.Write(info.MarshalledProperties.Length);
+ dataOut.Write(info.MarshalledProperties);
+ }
+
+ info.AfterMarshall(wireFormat);
+ }
+ }
+}
diff --git a/src/main/csharp/OpenWire/V10/XATransactionIdMarshaller.cs b/src/main/csharp/OpenWire/V10/XATransactionIdMarshaller.cs
new file mode 100644
index 0000000..63c5f4c
--- /dev/null
+++ b/src/main/csharp/OpenWire/V10/XATransactionIdMarshaller.cs
@@ -0,0 +1,139 @@
+/*
+ * 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.
+ */
+
+/*
+ *
+ * Marshaler code for OpenWire format for XATransactionId
+ *
+ * NOTE!: This file is auto generated - do not modify!
+ * if you need to make a change, please see the Java Classes
+ * in the nms-activemq-openwire-generator module
+ *
+ */
+
+using System;
+using System.IO;
+
+using Apache.NMS.ActiveMQ.Commands;
+
+namespace Apache.NMS.ActiveMQ.OpenWire.V10
+{
+ /// <summary>
+ /// Marshalling code for Open Wire Format for XATransactionId
+ /// </summary>
+ class XATransactionIdMarshaller : TransactionIdMarshaller
+ {
+ /// <summery>
+ /// Creates an instance of the Object that this marshaller handles.
+ /// </summery>
+ public override DataStructure CreateObject()
+ {
+ return new XATransactionId();
+ }
+
+ /// <summery>
+ /// Returns the type code for the Object that this Marshaller handles..
+ /// </summery>
+ public override byte GetDataStructureType()
+ {
+ return XATransactionId.ID_XATRANSACTIONID;
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs)
+ {
+ base.TightUnmarshal(wireFormat, o, dataIn, bs);
+
+ XATransactionId info = (XATransactionId)o;
+ info.FormatId = dataIn.ReadInt32();
+ info.GlobalTransactionId = ReadBytes(dataIn, bs.ReadBoolean());
+ info.BranchQualifier = ReadBytes(dataIn, bs.ReadBoolean());
+ }
+
+ //
+ // Write the booleans that this object uses to a BooleanStream
+ //
+ public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs)
+ {
+ XATransactionId info = (XATransactionId)o;
+
+ int rc = base.TightMarshal1(wireFormat, o, bs);
+ bs.WriteBoolean(info.GlobalTransactionId!=null);
+ rc += info.GlobalTransactionId==null ? 0 : info.GlobalTransactionId.Length+4;
+ bs.WriteBoolean(info.BranchQualifier!=null);
+ rc += info.BranchQualifier==null ? 0 : info.BranchQualifier.Length+4;
+
+ return rc + 4;
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs)
+ {
+ base.TightMarshal2(wireFormat, o, dataOut, bs);
+
+ XATransactionId info = (XATransactionId)o;
+ dataOut.Write(info.FormatId);
+ if(bs.ReadBoolean()) {
+ dataOut.Write(info.GlobalTransactionId.Length);
+ dataOut.Write(info.GlobalTransactionId);
+ }
+ if(bs.ReadBoolean()) {
+ dataOut.Write(info.BranchQualifier.Length);
+ dataOut.Write(info.BranchQualifier);
+ }
+ }
+
+ //
+ // Un-marshal an object instance from the data input stream
+ //
+ public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
+ {
+ base.LooseUnmarshal(wireFormat, o, dataIn);
+
+ XATransactionId info = (XATransactionId)o;
+ info.FormatId = dataIn.ReadInt32();
+ info.GlobalTransactionId = ReadBytes(dataIn, dataIn.ReadBoolean());
+ info.BranchQualifier = ReadBytes(dataIn, dataIn.ReadBoolean());
+ }
+
+ //
+ // Write a object instance to data output stream
+ //
+ public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
+ {
+
+ XATransactionId info = (XATransactionId)o;
+
+ base.LooseMarshal(wireFormat, o, dataOut);
+ dataOut.Write(info.FormatId);
+ dataOut.Write(info.GlobalTransactionId!=null);
+ if(info.GlobalTransactionId!=null) {
+ dataOut.Write(info.GlobalTransactionId.Length);
+ dataOut.Write(info.GlobalTransactionId);
+ }
+ dataOut.Write(info.BranchQualifier!=null);
+ if(info.BranchQualifier!=null) {
+ dataOut.Write(info.BranchQualifier.Length);
+ dataOut.Write(info.BranchQualifier);
+ }
+ }
+ }
+}