Author: astitcher
Date: Tue May 20 18:37:45 2014
New Revision: 1596358

URL: http://svn.apache.org/r1596358
Log:
PROTON-583: Move a bunch of constant data structures to read only section
- Everywhere a pn_class_t is defined it is a constant structure that
  can be read only.
- There is a table in the SSL implementation that also is constant
  and can be moved to the read only section.

Modified:
    qpid/proton/trunk/proton-c/include/proton/object.h
    qpid/proton/trunk/proton-c/src/codec/codec.c
    qpid/proton/trunk/proton-c/src/codec/decoder.c
    qpid/proton/trunk/proton-c/src/codec/encoder.c
    qpid/proton/trunk/proton-c/src/engine/engine.c
    qpid/proton/trunk/proton-c/src/engine/event.c
    qpid/proton/trunk/proton-c/src/message/message.c
    qpid/proton/trunk/proton-c/src/messenger/store.c
    qpid/proton/trunk/proton-c/src/messenger/subscription.c
    qpid/proton/trunk/proton-c/src/messenger/transform.c
    qpid/proton/trunk/proton-c/src/object/object.c
    qpid/proton/trunk/proton-c/src/posix/io.c
    qpid/proton/trunk/proton-c/src/posix/selector.c
    qpid/proton/trunk/proton-c/src/selectable.c
    qpid/proton/trunk/proton-c/src/ssl/openssl.c
    qpid/proton/trunk/proton-c/src/transport/transport.c
    qpid/proton/trunk/proton-c/src/windows/io.c
    qpid/proton/trunk/proton-c/src/windows/selector.c

Modified: qpid/proton/trunk/proton-c/include/proton/object.h
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/include/proton/object.h?rev=1596358&r1=1596357&r2=1596358&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/include/proton/object.h (original)
+++ qpid/proton/trunk/proton-c/include/proton/object.h Tue May 20 18:37:45 2014
@@ -58,14 +58,14 @@ typedef struct {
     PREFIX ## _inspect                          \
 }
 
-PN_EXTERN void *pn_new(size_t size, pn_class_t *clazz);
-PN_EXTERN void pn_initialize(void *object, pn_class_t *clazz);
+PN_EXTERN void *pn_new(size_t size, const pn_class_t* clazz);
+PN_EXTERN void pn_initialize(void *object, const pn_class_t *clazz);
 PN_EXTERN void *pn_incref(void *object);
 PN_EXTERN void pn_decref(void *object);
 PN_EXTERN int pn_refcount(void *object);
 PN_EXTERN void pn_finalize(void *object);
 PN_EXTERN void pn_free(void *object);
-PN_EXTERN pn_class_t *pn_class(void *object);
+PN_EXTERN const pn_class_t *pn_class(void* object);
 PN_EXTERN uintptr_t pn_hashcode(void *object);
 PN_EXTERN intptr_t pn_compare(void *a, void *b);
 PN_EXTERN bool pn_equals(void *a, void *b);

Modified: qpid/proton/trunk/proton-c/src/codec/codec.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/codec/codec.c?rev=1596358&r1=1596357&r2=1596358&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/codec/codec.c (original)
+++ qpid/proton/trunk/proton-c/src/codec/codec.c Tue May 20 18:37:45 2014
@@ -359,7 +359,7 @@ static int pn_data_inspect(void *obj, pn
 
 pn_data_t *pn_data(size_t capacity)
 {
-  static pn_class_t clazz = PN_CLASS(pn_data);
+  static const pn_class_t clazz = PN_CLASS(pn_data);
   pn_data_t *data = (pn_data_t *) pn_new(sizeof(pn_data_t), &clazz);
   data->capacity = capacity;
   data->size = 0;

Modified: qpid/proton/trunk/proton-c/src/codec/decoder.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/codec/decoder.c?rev=1596358&r1=1596357&r2=1596358&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/codec/decoder.c (original)
+++ qpid/proton/trunk/proton-c/src/codec/decoder.c Tue May 20 18:37:45 2014
@@ -54,7 +54,7 @@ static void pn_decoder_finalize(void *ob
 
 pn_decoder_t *pn_decoder()
 {
-  static pn_class_t clazz = PN_CLASS(pn_decoder);
+  static const pn_class_t clazz = PN_CLASS(pn_decoder);
   return (pn_decoder_t *) pn_new(sizeof(pn_decoder_t), &clazz);
 }
 

Modified: qpid/proton/trunk/proton-c/src/codec/encoder.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/codec/encoder.c?rev=1596358&r1=1596357&r2=1596358&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/codec/encoder.c (original)
+++ qpid/proton/trunk/proton-c/src/codec/encoder.c Tue May 20 18:37:45 2014
@@ -56,7 +56,7 @@ static void pn_encoder_finalize(void *ob
 
 pn_encoder_t *pn_encoder()
 {
-  static pn_class_t clazz = PN_CLASS(pn_encoder);
+  static const pn_class_t clazz = PN_CLASS(pn_encoder);
   return (pn_encoder_t *) pn_new(sizeof(pn_encoder_t), &clazz);
 }
 

Modified: qpid/proton/trunk/proton-c/src/engine/engine.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/engine/engine.c?rev=1596358&r1=1596357&r2=1596358&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/engine/engine.c (original)
+++ qpid/proton/trunk/proton-c/src/engine/engine.c Tue May 20 18:37:45 2014
@@ -380,7 +380,7 @@ static void pn_connection_finalize(void 
 
 pn_connection_t *pn_connection()
 {
-  static pn_class_t clazz = PN_CLASS(pn_connection);
+  static const pn_class_t clazz = PN_CLASS(pn_connection);
   pn_connection_t *conn = (pn_connection_t *) pn_new(sizeof(pn_connection_t), 
&clazz);
   if (!conn) return NULL;
 
@@ -712,7 +712,7 @@ static void pn_session_finalize(void *ob
 pn_session_t *pn_session(pn_connection_t *conn)
 {
   assert(conn);
-  static pn_class_t clazz = PN_CLASS(pn_session);
+  static const pn_class_t clazz = PN_CLASS(pn_session);
   pn_session_t *ssn = (pn_session_t *) pn_new(sizeof(pn_session_t), &clazz);
   if (!ssn) return NULL;
 
@@ -813,7 +813,7 @@ static void pn_link_finalize(void *objec
 
 pn_link_t *pn_link_new(int type, pn_session_t *session, const char *name)
 {
-  static pn_class_t clazz = PN_CLASS(pn_link);
+  static const pn_class_t clazz = PN_CLASS(pn_link);
   pn_link_t *link = (pn_link_t *) pn_new(sizeof(pn_link_t), &clazz);
 
   pn_endpoint_init(&link->endpoint, type, session->connection);
@@ -1091,7 +1091,7 @@ pn_delivery_t *pn_delivery(pn_link_t *li
   pn_delivery_t *delivery = link->settled_head;
   LL_POP(link, settled, pn_delivery_t);
   if (!delivery) {
-    static pn_class_t clazz = PN_CLASS(pn_delivery);
+    static const pn_class_t clazz = PN_CLASS(pn_delivery);
     delivery = (pn_delivery_t *) pn_new(sizeof(pn_delivery_t), &clazz);
     if (!delivery) return NULL;
     delivery->link = link;

Modified: qpid/proton/trunk/proton-c/src/engine/event.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/engine/event.c?rev=1596358&r1=1596357&r2=1596358&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/engine/event.c (original)
+++ qpid/proton/trunk/proton-c/src/engine/event.c Tue May 20 18:37:45 2014
@@ -72,7 +72,7 @@ static int pn_collector_inspect(void *ob
 
 pn_collector_t *pn_collector(void)
 {
-  static pn_class_t clazz = PN_CLASS(pn_collector);
+  static const pn_class_t clazz = PN_CLASS(pn_collector);
   pn_collector_t *collector = (pn_collector_t *) 
pn_new(sizeof(pn_collector_t), &clazz);
   return collector;
 }
@@ -198,7 +198,7 @@ static int pn_event_inspect(void *obj, p
 
 pn_event_t *pn_event(void)
 {
-  static pn_class_t clazz = PN_CLASS(pn_event);
+  static const pn_class_t clazz = PN_CLASS(pn_event);
   pn_event_t *event = (pn_event_t *) pn_new(sizeof(pn_event_t), &clazz);
   return event;
 }

Modified: qpid/proton/trunk/proton-c/src/message/message.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/message/message.c?rev=1596358&r1=1596357&r2=1596358&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/message/message.c (original)
+++ qpid/proton/trunk/proton-c/src/message/message.c Tue May 20 18:37:45 2014
@@ -318,7 +318,7 @@ int pn_message_inspect(void *obj, pn_str
 
 pn_message_t *pn_message()
 {
-  static pn_class_t clazz = PN_CLASS(pn_message);
+  static const pn_class_t clazz = PN_CLASS(pn_message);
   pn_message_t *msg = (pn_message_t *) pn_new(sizeof(pn_message_t), &clazz);
   msg->durable = false;
   msg->priority = PN_DEFAULT_PRIORITY;

Modified: qpid/proton/trunk/proton-c/src/messenger/store.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/messenger/store.c?rev=1596358&r1=1596357&r2=1596358&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/messenger/store.c (original)
+++ qpid/proton/trunk/proton-c/src/messenger/store.c Tue May 20 18:37:45 2014
@@ -205,7 +205,7 @@ pni_stream_t *pni_stream_get(pni_store_t
 pni_entry_t *pni_store_put(pni_store_t *store, const char *address)
 {
   assert(store);
-  static pn_class_t clazz = PN_CLASS(pni_entry);
+  static const pn_class_t clazz = PN_CLASS(pni_entry);
 
   if (!address) address = "";
   pni_stream_t *stream = pni_stream_put(store, address);

Modified: qpid/proton/trunk/proton-c/src/messenger/subscription.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/messenger/subscription.c?rev=1596358&r1=1596357&r2=1596358&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/messenger/subscription.c (original)
+++ qpid/proton/trunk/proton-c/src/messenger/subscription.c Tue May 20 18:37:45 
2014
@@ -64,7 +64,7 @@ pn_subscription_t *pn_subscription(pn_me
                                    const char *host,
                                    const char *port)
 {
-  static pn_class_t clazz = PN_CLASS(pn_subscription);
+  static const pn_class_t clazz = PN_CLASS(pn_subscription);
   pn_subscription_t *sub = (pn_subscription_t *) 
pn_new(sizeof(pn_subscription_t), &clazz);
   sub->messenger = messenger;
   pn_string_set(sub->scheme, scheme);

Modified: qpid/proton/trunk/proton-c/src/messenger/transform.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/messenger/transform.c?rev=1596358&r1=1596357&r2=1596358&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/messenger/transform.c (original)
+++ qpid/proton/trunk/proton-c/src/messenger/transform.c Tue May 20 18:37:45 
2014
@@ -62,7 +62,7 @@ static void pn_rule_finalize(void *objec
 
 pn_rule_t *pn_rule(const char *pattern, const char *substitution)
 {
-  static pn_class_t clazz = PN_CLASS(pn_rule);
+  static const pn_class_t clazz = PN_CLASS(pn_rule);
   pn_rule_t *rule = (pn_rule_t *) pn_new(sizeof(pn_rule_t), &clazz);
   rule->pattern = pn_string(pattern);
   rule->substitution = pn_string(substitution);
@@ -82,7 +82,7 @@ static void pn_transform_finalize(void *
 
 pn_transform_t *pn_transform()
 {
-  static pn_class_t clazz = PN_CLASS(pn_transform);
+  static const pn_class_t clazz = PN_CLASS(pn_transform);
   pn_transform_t *transform = (pn_transform_t *) 
pn_new(sizeof(pn_transform_t), &clazz);
   transform->rules = pn_list(0, PN_REFCOUNT);
   transform->matched = false;

Modified: qpid/proton/trunk/proton-c/src/object/object.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/object/object.c?rev=1596358&r1=1596357&r2=1596358&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/object/object.c (original)
+++ qpid/proton/trunk/proton-c/src/object/object.c Tue May 20 18:37:45 2014
@@ -29,14 +29,14 @@
 #include <ctype.h>
 
 typedef struct {
-  pn_class_t *clazz;
+  const pn_class_t *clazz;
   int refcount;
 } pni_head_t;
 
 #define pni_head(PTR) \
   (((pni_head_t *) (PTR)) - 1)
 
-void *pn_new(size_t size, pn_class_t *clazz)
+void *pn_new(size_t size, const pn_class_t *clazz)
 {
   pni_head_t *head = (pni_head_t *) malloc(sizeof(pni_head_t) + size);
   void *object = head + 1;
@@ -44,7 +44,7 @@ void *pn_new(size_t size, pn_class_t *cl
   return object;
 }
 
-void pn_initialize(void *object, pn_class_t *clazz)
+void pn_initialize(void *object, const pn_class_t *clazz)
 {
   pni_head_t *head = pni_head(object);
   head->clazz = clazz;
@@ -101,7 +101,7 @@ void pn_free(void *object)
   }
 }
 
-pn_class_t *pn_class(void *object)
+const pn_class_t *pn_class(void *object)
 {
   assert(object);
   return pni_head(object)->clazz;
@@ -127,7 +127,7 @@ intptr_t pn_compare(void *a, void *b)
     pni_head_t *hb = pni_head(b);
 
     if (ha->clazz && hb->clazz && ha->clazz == hb->clazz) {
-      pn_class_t *clazz = ha->clazz;
+      const pn_class_t *clazz = ha->clazz;
       if (clazz->compare) {
         return clazz->compare(a, b);
       }
@@ -151,7 +151,7 @@ int pn_inspect(void *object, pn_string_t
   if (object) {
     pni_head_t *head = pni_head(object);
     if (head->clazz) {
-      pn_class_t *clazz = head->clazz;
+      const pn_class_t *clazz = head->clazz;
       if (clazz->inspect) {
         return clazz->inspect(object, dst);
       }
@@ -354,7 +354,7 @@ static int pn_list_inspect(void *obj, pn
 
 pn_list_t *pn_list(size_t capacity, int options)
 {
-  static pn_class_t clazz = PN_CLASS(pn_list);
+  static const pn_class_t clazz = PN_CLASS(pn_list);
 
   pn_list_t *list = (pn_list_t *) pn_new(sizeof(pn_list_t), &clazz);
   list->capacity = capacity ? capacity : 16;
@@ -463,7 +463,7 @@ static int pn_map_inspect(void *obj, pn_
 
 pn_map_t *pn_map(size_t capacity, float load_factor, int options)
 {
-  static pn_class_t clazz = PN_CLASS(pn_map);
+  static const pn_class_t clazz = PN_CLASS(pn_map);
 
   pn_map_t *map = (pn_map_t *) pn_new(sizeof(pn_map_t), &clazz);
   map->capacity = capacity ? capacity : 16;
@@ -796,7 +796,7 @@ pn_string_t *pn_string(const char *bytes
 
 pn_string_t *pn_stringn(const char *bytes, size_t n)
 {
-  static pn_class_t clazz = PN_CLASS(pn_string);
+  static const pn_class_t clazz = PN_CLASS(pn_string);
   pn_string_t *string = (pn_string_t *) pn_new(sizeof(pn_string_t), &clazz);
   string->capacity = n ? n * sizeof(char) : 16;
   string->bytes = (char *) malloc(string->capacity);
@@ -985,7 +985,7 @@ static void pn_iterator_finalize(void *o
 
 pn_iterator_t *pn_iterator()
 {
-  static pn_class_t clazz = PN_CLASS(pn_iterator);
+  static const pn_class_t clazz = PN_CLASS(pn_iterator);
   pn_iterator_t *it = (pn_iterator_t *) pn_new(sizeof(pn_iterator_t), &clazz);
   return it;
 }

Modified: qpid/proton/trunk/proton-c/src/posix/io.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/posix/io.c?rev=1596358&r1=1596357&r2=1596358&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/posix/io.c (original)
+++ qpid/proton/trunk/proton-c/src/posix/io.c Tue May 20 18:37:45 2014
@@ -65,7 +65,7 @@ void pn_io_finalize(void *obj)
 
 pn_io_t *pn_io(void)
 {
-  static pn_class_t clazz = PN_CLASS(pn_io);
+  static const pn_class_t clazz = PN_CLASS(pn_io);
   pn_io_t *io = (pn_io_t *) pn_new(sizeof(pn_io_t), &clazz);
   return io;
 }

Modified: qpid/proton/trunk/proton-c/src/posix/selector.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/posix/selector.c?rev=1596358&r1=1596357&r2=1596358&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/posix/selector.c (original)
+++ qpid/proton/trunk/proton-c/src/posix/selector.c Tue May 20 18:37:45 2014
@@ -67,7 +67,7 @@ void pn_selector_finalize(void *obj)
 
 pn_selector_t *pn_selector(void)
 {
-  static pn_class_t clazz = PN_CLASS(pn_selector);
+  static const pn_class_t clazz = PN_CLASS(pn_selector);
   pn_selector_t *selector = (pn_selector_t *) pn_new(sizeof(pn_selector_t), 
&clazz);
   return selector;
 }

Modified: qpid/proton/trunk/proton-c/src/selectable.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/selectable.c?rev=1596358&r1=1596357&r2=1596358&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/selectable.c (original)
+++ qpid/proton/trunk/proton-c/src/selectable.c Tue May 20 18:37:45 2014
@@ -90,7 +90,7 @@ pn_selectable_t *pni_selectable(ssize_t 
                                 void (*expired)(pn_selectable_t *),
                                 void (*finalize)(pn_selectable_t *))
 {
-  static pn_class_t clazz = PN_CLASS(pn_selectable);
+  static const pn_class_t clazz = PN_CLASS(pn_selectable);
   pn_selectable_t *selectable = (pn_selectable_t *) 
pn_new(sizeof(pn_selectable_t), &clazz);
   selectable->capacity = capacity;
   selectable->pending = pending;

Modified: qpid/proton/trunk/proton-c/src/ssl/openssl.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/ssl/openssl.c?rev=1596358&r1=1596357&r2=1596358&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/ssl/openssl.c (original)
+++ qpid/proton/trunk/proton-c/src/ssl/openssl.c Tue May 20 18:37:45 2014
@@ -343,7 +343,7 @@ static int verify_callback(int preverify
 // "openssl dhparam -C -2 2048"
 static DH *get_dh2048(void)
 {
-  static unsigned char dh2048_p[]={
+  static const unsigned char dh2048_p[]={
     0xAE,0xF7,0xE9,0x66,0x26,0x7A,0xAC,0x0A,0x6F,0x1E,0xCD,0x81,
     0xBD,0x0A,0x10,0x7E,0xFA,0x2C,0xF5,0x2D,0x98,0xD4,0xE7,0xD9,
     0xE4,0x04,0x8B,0x06,0x85,0xF2,0x0B,0xA3,0x90,0x15,0x56,0x0C,
@@ -367,7 +367,7 @@ static DH *get_dh2048(void)
     0xA4,0xED,0xFD,0x49,0x0B,0xE3,0x4A,0xF6,0x28,0xB3,0x98,0xB0,
     0x23,0x1C,0x09,0x33,
   };
-  static unsigned char dh2048_g[]={
+  static const unsigned char dh2048_g[]={
     0x02,
   };
   DH *dh;

Modified: qpid/proton/trunk/proton-c/src/transport/transport.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/transport/transport.c?rev=1596358&r1=1596357&r2=1596358&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/transport/transport.c (original)
+++ qpid/proton/trunk/proton-c/src/transport/transport.c Tue May 20 18:37:45 
2014
@@ -222,7 +222,7 @@ static void pn_transport_finalize(void *
 
 pn_transport_t *pn_transport()
 {
-  static pn_class_t clazz = PN_CLASS(pn_transport);
+  static const pn_class_t clazz = PN_CLASS(pn_transport);
   pn_transport_t *transport = (pn_transport_t *) pn_new(sizeof(pn_transport_t),
                                                         &clazz);
   if (!transport) return NULL;

Modified: qpid/proton/trunk/proton-c/src/windows/io.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/windows/io.c?rev=1596358&r1=1596357&r2=1596358&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/windows/io.c (original)
+++ qpid/proton/trunk/proton-c/src/windows/io.c Tue May 20 18:37:45 2014
@@ -84,7 +84,7 @@ void pn_io_finalize(void *obj)
 
 pn_io_t *pn_io(void)
 {
-  static pn_class_t clazz = PN_CLASS(pn_io);
+  static const pn_class_t clazz = PN_CLASS(pn_io);
   pn_io_t *io = (pn_io_t *) pn_new(sizeof(pn_io_t), &clazz);
   return io;
 }

Modified: qpid/proton/trunk/proton-c/src/windows/selector.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/windows/selector.c?rev=1596358&r1=1596357&r2=1596358&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/windows/selector.c (original)
+++ qpid/proton/trunk/proton-c/src/windows/selector.c Tue May 20 18:37:45 2014
@@ -91,7 +91,7 @@ void pn_selector_finalize(void *obj)
 
 pn_selector_t *pn_selector(void)
 {
-  static pn_class_t clazz = PN_CLASS(pn_selector);
+  static const pn_class_t clazz = PN_CLASS(pn_selector);
   pn_selector_t *selector = (pn_selector_t *) pn_new(sizeof(pn_selector_t), 
&clazz);
   return selector;
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to