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]