Sofia-sip内部使用消息队列的方式对sip协议进行处理,sofia-sip和application之间是通过reactor模式进行通信,即通过回调实现,本文主要关注sofia-sip内部消息队列的实现:
1. 需要了解sofia-sip使用到的一些oo(面向对象)技术,链接如下
http://sofia-sip.sourceforge.net/refdocs/programmin...
分类:
其他好文 时间:
2015-05-07 20:30:31
阅读次数:
276
1.链队列。利用带有头结点的单链表来实现链队列,插入和删除的复杂度都为o(1)
代码:
#include
#include
typedef struct Qnode
{
int data;
Qnode *next;
}Qnode;
typedef struct LinkQueue
{
Qnode *front;
Qnode *rear;
}LinkQueue;
vo...
分类:
编程语言 时间:
2015-05-07 20:30:24
阅读次数:
163
优先队列是堆排序的一个具体应用。
优先队列分为如下几个操作:
1.INSERT(S,x)把元素x插入到优先队列中。
2.MAXIMUM(S):返回s中具有最大关键字的元素。
3.EXTRACT_MAX(S):去掉S中最大关键字的元素
4.INCREASE_KEY(S,x,k):将元素x的关键字值增加到k,k是不小于x的元素。
优先队列的应用:
1.共享计算机系统的作业调度。最大优先队...
分类:
编程语言 时间:
2015-05-04 10:05:49
阅读次数:
187
几个概念:
完全二叉树:是指除叶子节点那层外,叶子节点以上的第k层都含有2k2^k个节点而且叶子节那层的节点都靠左方。
满二叉树:与完全二叉树先比,多了连叶子节点也要全满的限制条件。
堆的代码实现(数组实现):int heap[10000], sz = 0;void push(int x) { //向堆里面增加元素X
int i = sz++, p;
while(i > 0)...
分类:
其他好文 时间:
2015-04-17 22:22:15
阅读次数:
202
队列是一种简单的先进先出结构,各种需要排队的事情,都可以开一个队列来完成。
利用链表或数组,都能实现队列,不过最大的区别就是,数组的扩展比较困难,而链表较为容易,但链表资源消耗稍多。数据结构的不同导致了队列的实现也不相同,链表上次已经实现过了,只需简单包装即可使用,这里,我们介绍简单的用数组模拟队列的方式...
分类:
其他好文 时间:
2015-04-16 23:46:11
阅读次数:
127
queue.h 1 #ifndef QUEUE_H 2 #define QUEUE_H 3 4 #include 5 #include 6 #include 7 8 //node 9 typedef struct QueueNode10 {11 int data;12 struc...
分类:
其他好文 时间:
2015-04-15 16:59:05
阅读次数:
186
复习一下队列与循环队列的实现(C语言)1、单链队列: 1 typedef struct QNode{ //若不写typedef,在C中每次定义QNode需要在前面加上struct,而C++不必 2 QElemType data; 3 struct QNode *next; 4 }QN...
分类:
其他好文 时间:
2015-04-10 22:18:30
阅读次数:
114
StackElement请看栈的实现
package com.lip.datastruture.stack;
public class Queue
{
private StackElement obj;//保存数据
private int size;// 元素个数
public Queue()
{
this.size = 0;
}
// 入队列
public...
分类:
编程语言 时间:
2015-03-31 00:51:50
阅读次数:
172
在ortp中实现了一个通用的队列,每一个队列包括三个实体,分别是队列、消息块和数据块,这三个实体分别对应queue_t、msgb和datab结构体。queue_t的定义如下所示:typedef struct _queue {mblk_t _q_stopper; /* 消息队列头 */int q_.....
分类:
其他好文 时间:
2015-03-30 22:50:44
阅读次数:
195