diff options
Diffstat (limited to 'qpid/dotnet/Qpid.Common/Framing/BasicContentHeaderProperties.cs')
-rw-r--r-- | qpid/dotnet/Qpid.Common/Framing/BasicContentHeaderProperties.cs | 290 |
1 files changed, 0 insertions, 290 deletions
diff --git a/qpid/dotnet/Qpid.Common/Framing/BasicContentHeaderProperties.cs b/qpid/dotnet/Qpid.Common/Framing/BasicContentHeaderProperties.cs deleted file mode 100644 index 47db7b0887..0000000000 --- a/qpid/dotnet/Qpid.Common/Framing/BasicContentHeaderProperties.cs +++ /dev/null @@ -1,290 +0,0 @@ -/* - * - * 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 log4net; -using Apache.Qpid.Buffer; -using Apache.Qpid.Messaging; - -namespace Apache.Qpid.Framing -{ - public class BasicContentHeaderProperties : IContentHeaderProperties - { - private static readonly ILog _log = LogManager.GetLogger(typeof(BasicContentHeaderProperties)); - - private string _contentType; - private string _encoding; - private FieldTable _headers; - private byte _deliveryMode; - private byte _priority; - private string _correlationId; - private long _expiration; - private string _replyTo; - private string _messageId; - private ulong _timestamp; - private string _type; - private string _userId; - private string _appId; - private string _clusterId; - - - #region Properties - // - // Properties - // - - /// <summary> - /// The MIME Content Type - /// </summary> - public string ContentType - { - get { return _contentType; } - set { _contentType = value; } - } - - /// <summary> - /// The MIME Content Encoding - /// </summary> - public string Encoding - { - get { return _encoding; } - set { _encoding = value; } - } - - /// <summary> - /// Message headers - /// </summary> - public FieldTable Headers - { - get { return _headers; } - set { _headers = value; } - } - - /// <summary> - /// Non-persistent (1) or persistent (2) - /// </summary> - public byte DeliveryMode - { - get { return _deliveryMode; } - set { _deliveryMode = value; } - } - - /// <summary> - /// The message priority, 0 to 9 - /// </summary> - public byte Priority - { - get { return _priority; } - set { _priority = value; } - } - - /// <summary> - /// The application correlation identifier - /// </summary> - public string CorrelationId - { - get { return _correlationId; } - set { _correlationId = value; } - } - - /// <summary> - /// Message expiration specification - /// </summary> - // TODO: Should be string according to spec - public long Expiration - { - get { return _expiration; } - set { _expiration = value; } - } - - /// <summary> - /// The destination to reply to - /// </summary> - public string ReplyTo - { - get { return _replyTo; } - set { _replyTo = value; } - } - - /// <summary> - /// The application message identifier - /// </summary> - public string MessageId - { - get { return _messageId; } - set { _messageId = value; } - } - - /// <summary> - /// The message timestamp - /// </summary> - public ulong Timestamp - { - get { return _timestamp; } - set { _timestamp = value; } - } - - /// <summary> - /// The message type name - /// </summary> - public string Type - { - get { return _type; } - set { _type = value; } - } - - /// <summary> - /// The creating user id - /// </summary> - public string UserId - { - get { return _userId; } - set { _userId = value; } - } - - /// <summary> - /// The creating application id - /// </summary> - public string AppId - { - get { return _appId; } - set { _appId = value; } - } - - /// <summary> - /// Intra-cluster routing identifier - /// </summary> - public string ClusterId - { - get { return _clusterId; } - set { _clusterId = value; } - } - - #endregion // Properties - - - public BasicContentHeaderProperties() - { - } - - public uint PropertyListSize - { - get - { - return (uint)(EncodingUtils.EncodedShortStringLength(ContentType) + - EncodingUtils.EncodedShortStringLength(Encoding) + - EncodingUtils.EncodedFieldTableLength(Headers) + - 1 + 1 + - EncodingUtils.EncodedShortStringLength(CorrelationId) + - EncodingUtils.EncodedShortStringLength(ReplyTo) + - EncodingUtils.EncodedShortStringLength(String.Format("{0:D}", Expiration)) + - EncodingUtils.EncodedShortStringLength(MessageId) + - 8 + - EncodingUtils.EncodedShortStringLength(Type) + - EncodingUtils.EncodedShortStringLength(UserId) + - EncodingUtils.EncodedShortStringLength(AppId) + - EncodingUtils.EncodedShortStringLength(ClusterId)); - - } - } - - public ushort PropertyFlags - { - get - { - int value = 0; - - // for now we just blast in all properties - for ( int i = 0; i < 14; i++ ) - { - value += (1 << (15 - i)); - } - return (ushort)value; - } - } - - public void WritePropertyListPayload(ByteBuffer buffer) - { - EncodingUtils.WriteShortStringBytes(buffer, ContentType); - EncodingUtils.WriteShortStringBytes(buffer, Encoding); - EncodingUtils.WriteFieldTableBytes(buffer, Headers); - buffer.Put(DeliveryMode); - buffer.Put(Priority); - EncodingUtils.WriteShortStringBytes(buffer, CorrelationId); - EncodingUtils.WriteShortStringBytes(buffer, ReplyTo); - EncodingUtils.WriteShortStringBytes(buffer, String.Format("{0:D}", Expiration)); - EncodingUtils.WriteShortStringBytes(buffer, MessageId); - buffer.Put(Timestamp); - EncodingUtils.WriteShortStringBytes(buffer, Type); - EncodingUtils.WriteShortStringBytes(buffer, UserId); - EncodingUtils.WriteShortStringBytes(buffer, AppId); - EncodingUtils.WriteShortStringBytes(buffer, ClusterId); - } - - public void PopulatePropertiesFromBuffer(ByteBuffer buffer, ushort propertyFlags) - { - _log.Debug("Property flags: " + propertyFlags); - if ( (propertyFlags & (1 << 15)) > 0 ) - ContentType = EncodingUtils.ReadShortString(buffer); - if ( (propertyFlags & (1 << 14)) > 0 ) - Encoding = EncodingUtils.ReadShortString(buffer); - if ( (propertyFlags & (1 << 13)) > 0 ) - Headers = EncodingUtils.ReadFieldTable(buffer); - if ( (propertyFlags & (1 << 12)) > 0 ) - DeliveryMode = buffer.GetByte(); - if ( (propertyFlags & (1 << 11)) > 0 ) - Priority = buffer.GetByte(); - if ( (propertyFlags & (1 << 10)) > 0 ) - CorrelationId = EncodingUtils.ReadShortString(buffer); - if ( (propertyFlags & (1 << 9)) > 0 ) - ReplyTo = EncodingUtils.ReadShortString(buffer); - if ( (propertyFlags & (1 << 8)) > 0 ) - Expiration = EncodingUtils.ReadLongAsShortString(buffer); - if ( (propertyFlags & (1 << 7)) > 0 ) - MessageId = EncodingUtils.ReadShortString(buffer); - if ( (propertyFlags & (1 << 6)) > 0 ) - Timestamp = buffer.GetUInt64(); - if ( (propertyFlags & (1 << 5)) > 0 ) - Type = EncodingUtils.ReadShortString(buffer); - if ( (propertyFlags & (1 << 4)) > 0 ) - UserId = EncodingUtils.ReadShortString(buffer); - if ( (propertyFlags & (1 << 3)) > 0 ) - AppId = EncodingUtils.ReadShortString(buffer); - if ( (propertyFlags & (1 << 2)) > 0 ) - ClusterId = EncodingUtils.ReadShortString(buffer); - } - - public void SetDeliveryMode(DeliveryMode deliveryMode) - { - if ( deliveryMode == Messaging.DeliveryMode.NonPersistent ) - { - DeliveryMode = 1; - } else - { - DeliveryMode = 2; - } - } - - public override string ToString() - { - return "Properties: " + ContentType + " " + Encoding + " " + Timestamp + " " + Type; - } - } -} |