RRFrame

Name

RRFrame -- 

Synopsis



#define     RR_NEXT_MSGNO
#define     RR_BEEP_MIME_HEADER_LEN
#define     RR_BEEP_MIME_HEADER
enum        RRFrameType;
RRFrame*    rr_frame_new                    (RRFrameType type,
                                             gint32 channel_id,
                                             gboolean more,
                                             gint32 msgno,
                                             gint32 size,
                                             gint32 ansno,
                                             gchar *payload,
                                             gboolean should_free);
const gchar* rr_frame_mime_get_body         (RRFrame *frame);
gint32      rr_frame_mime_get_body_size     (RRFrame *frame);
RRMimePart* rr_frame_parse_mime             (RRFrame *frame);
gint        rr_frame_build                  (RRFrame *frame,
                                             gchar *buffer);
gint        rr_frame_parse                  (RRFrame *frame,
                                             const gchar *buffer,
                                             const gchar *body,
                                             gint len,
                                             GError **error);
void        rr_frame_reference_message      (RRFrame *frame,
                                             RRMessage *msg);
RRFrame*    rr_frame_aggregate              (GSList **list,
                                             RRFrame *frame);
void        rr_frame_aggregator_free        (GSList **list);

Description

Details

RR_NEXT_MSGNO

#define RR_NEXT_MSGNO (-1)


RR_BEEP_MIME_HEADER_LEN

#define RR_BEEP_MIME_HEADER_LEN 38


RR_BEEP_MIME_HEADER

#define RR_BEEP_MIME_HEADER "Content-Type: application/beep+xml\r\n\r\n"


enum RRFrameType

typedef enum {
	RR_FRAME_TYPE_UNKNOWN,
	RR_FRAME_TYPE_MSG,
	RR_FRAME_TYPE_RPY,
	RR_FRAME_TYPE_ERR,
	RR_FRAME_TYPE_ANS,
	RR_FRAME_TYPE_NUL
} RRFrameType;


rr_frame_new ()

RRFrame*    rr_frame_new                    (RRFrameType type,
                                             gint32 channel_id,
                                             gboolean more,
                                             gint32 msgno,
                                             gint32 size,
                                             gint32 ansno,
                                             gchar *payload,
                                             gboolean should_free);

type :

channel_id :

more :

msgno :

size :

ansno :

payload :

should_free :

Returns :


rr_frame_mime_get_body ()

const gchar* rr_frame_mime_get_body         (RRFrame *frame);

Returns a pointer to the body of the mime body. If the frame contains a multipart mime message a pointer to the body of the first non-multipart part.

frame :

A RRFrame

Returns :

A pointer to the mime body or NULL.


rr_frame_mime_get_body_size ()

gint32      rr_frame_mime_get_body_size     (RRFrame *frame);

Returns the length of the body of the mime body. If the frame contains a multipart mime message the length of the body of the first non-multipart part.

frame :

Returns :

The length of the mime body returned by rr_frame_mime_get_body.


rr_frame_parse_mime ()

RRMimePart* rr_frame_parse_mime             (RRFrame *frame);

This function attempts to parse the frame payload as a mime message.

Note: The RRMimePart object returned by this function will be freed by RoadRunner when the RRFrame object is destroyed.

frame :

A RRFrame.

Returns :

A pointer to a RRMimePart or NULL if parse failed.


rr_frame_build ()

gint        rr_frame_build                  (RRFrame *frame,
                                             gchar *buffer);

frame :

buffer :

Returns :


rr_frame_parse ()

gint        rr_frame_parse                  (RRFrame *frame,
                                             const gchar *buffer,
                                             const gchar *body,
                                             gint len,
                                             GError **error);

frame :

buffer :

body :

len :

error :

Returns :


rr_frame_reference_message ()

void        rr_frame_reference_message      (RRFrame *frame,
                                             RRMessage *msg);

frame :

msg :


rr_frame_aggregate ()

RRFrame*    rr_frame_aggregate              (GSList **list,
                                             RRFrame *frame);

list :

frame :

Returns :


rr_frame_aggregator_free ()

void        rr_frame_aggregator_free        (GSList **list);

list :