Find Jobs
Hire Freelancers

A simple logging service built on top of a message queu

$30-250 AUD

クローズ
投稿日: 約6年前

$30-250 AUD

完了時にお支払い
The task is broken into three parts, a message logging server, a library to log messages, and a driver to test the library. 2.1 Message Logging Server The message logging server should attempt to create the message queue, if this fails then it should terminate with an error message, it should not run if the message queue actually exists (IPC_EXCL will help here). Once connected to the message queue, the program should sit in a loop, receiving a message, and printing it to the stdout. Messages should be formatted: id: message where id is the type from the message structure and message is the message field. The server should shutdown cleanly (i.e. delete the message queue) on receipt of a SIGINT (generated by pressing control and C keys at the same time). The sample code files logservice.h and logserver.c should form the basis of your solution for this part. 2.2 Messaging library The messaging library consists of two functions, both defined in logservice.h: int initLogService() This function should initialise the message queue to log messages to, returning an id if successful, and -1 on error. This function should not attempt to create the message queue, only attach it to the process. int logMessage(int id, char *message) This function logs the message passed as the string message to the log service id. It should return 0 on success and -1 on error. When sending a message, the function should encode the processes pid into the type field of the message, and the string into the message field. 1 It is your choice what to do if the message is too long (i.e. longer than MSGCHARS), sample behaviours include breaking the message up into smaller pieces or simply rejecting it. Whatever the choice, the documentation in the header file should reflect this choice. The sample code files logservice.h and logservice.c should form the basis of your solution for this part. 2.3 Test Driver This program is used to test the functionality of the library described in Section 2.2. It need not be complex, but is should be able to determine, and report if any errors have occurred. The sample code files logservice.h and logclient.c should form the basis of your solution for this part.
プロジェクト ID: 16776352

プロジェクトについて

9個の提案
リモートプロジェクト
アクティブ 6年前

お金を稼ぎたいですか?

Freelancerで入札する利点

予算と期間を設定してください
仕事で報酬を得る
提案をご説明ください
登録して仕事に入札するのは無料です
この仕事に9人のフリーランサーが、平均$155 AUDで入札しています
ユーザーアバター
Hi I can handle it because I understand this task. looking forward............................................... Thanks
$155 AUD 3日以内
4.9 (14 レビュー)
4.6
4.6
ユーザーアバター
BeYoutifool designs, are creative, unconventional, and impeccably unique. These designs give personality to your brand. The convergence of brilliance and simplicity, is the inception of your successBe what you believe in. BE-YOU Our PORTFOLIO will Speak for us.
$30 AUD 2日以内
0.0 (0 レビュー)
0.0
0.0

クライアントについて

AUSTRALIAのフラグ
Sydney, Australia
0.0
0
お支払い方法確認済み
メンバー登録日:4月 25, 2018

クライアント確認

ありがとうございます!無料クレジットを受け取るリンクをメールしました。
メールを送信中に問題が発生しました。もう一度お試しください。
登録ユーザー 投稿された仕事の合計
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
プレビューを読み込み中
位置情報へのアクセスが許可されました。
あなたのログインセッションの有効期限がきれ、ログアウトされました。もう一度ログインしてください。