Skip to content

linkuri267/minimal_aws

Repository files navigation

Name: David Chen
USCID: 1722561951

Working parts:
aws, backend (prefix,search,suffix), client, monitor

aws.c: the server that clients make requests to. it sends the request to backend servers and aggregates response to send to monitor and client
aws_routines.cpp: includes functions like data aggregation 
aws_routines.h: header for file above
backend.cpp: includes functions for searching/prefixing input and also message formatting. also has some data structures I implemented
backend.h: header for file above
client.c: client program
monitor.c: monitor program
serverX (A,B,C): lookup program

Format of messages:

	from backend/to monitor:
		no results found: 0&INPUT
		search:
			found a definition and found similar word: 1&INPUT&VALUE&WORD&DEFINITION
			found a definition but no similar word: 1&INPUT&VALUE
			didn't find a definition but found a similar word: 1&&INPUT&WORD&DEFINITION
		prefix(2)/suffix(3):
			(2/3)&n&INPUT&VALUE1&VALUE2&VALUE3...&VALUEn

	to client:
		no results found: &\0
		search: 'VALUE\0'
		prefix/suffix: 'n&VALUE1&VALUE2&VALUE3...&VALUEn\0'

	from client:
		search: 1&INPUT
		prefix: 2&INPUT
		suffix: 3&INPUT


References:
	I used code from Beej's network programming guide, specifically from client.c, server.c, listener,c and talker.c

Issues:
	Prefix function fails under high amounts of data, ie number of words > 50 because of message buffer size

About

A simple distributed lookup server

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published