storaged_init(storaged_instance *si){ connectionadaptorinit(&si->adaptor, 8); listenon(&si->adaptor, STORAGED_PORT); addpacketoperation(&si->adaptor, STORAGE_PROTO_REQ_UPLOAD_FILE, handle_upload); L_DEBUG("add packetoperation on type %u\n", STORAGE_PROTO_REQ_UPLOAD_FILE); addpacketoperation(&si->adaptor, STORAGE_PROTO_REQ_DOWNLOAD_FILE, handle_download); L_DEBUG("add packetoperation on type %u\n", STORAGE_PROTO_REQ_DOWNLOAD_FILE); connectionadaptorstart(&si->adaptor); }
int acceptor_init(int id, acceptor_instance *acc) { L_DEBUG("Acceptor starting, self=%d, acceptors:%d, majority:%d\n", id, N_OF_ACCEPTORS, N_OF_MAJORITY); connectionadaptorinit(&acc->adaptor, 8); listenon(&acc->adaptor, PAXOS_ACCEPTORS_PORT); addpacketoperation(&acc->adaptor, prepare_reqs, handle_prepare); addpacketoperation(&acc->adaptor, accept_reqs, handle_accept); addpacketoperation(&acc->adaptor, repeat_reqs, handle_lsync); connectionadaptorstart(&acc->adaptor); }
void handshake() { int port = 1234; listenon(port); struct socket* so = NULL; socreate(AF_INET, &so, SOCK_STREAM, 0); struct sockaddr_in addr; bzero(&addr, sizeof addr); addr.sin_len = sizeof addr; addr.sin_family = AF_INET; addr.sin_port = htons(port); addr.sin_addr.s_addr = htonl(0x7f000001); struct mbuf* nam = m_devget((caddr_t)&addr, sizeof addr, 0, NULL, NULL); soconnect(so, nam); ipintr(); }
int main(int argc, char *argv[]) { unsigned int sport = 0; unsigned int dport = 0; char *destination = NULL; char *source = NULL; int fd; int i = 1; while(i<argc) { if(!strcmp(argv[i], "--listen-port") || !strcmp(argv[i], "-i")) { sport = atoi(argv[i+1]); } else if(!strcmp(argv[i], "--broadcast-port") || !strcmp(argv[i], "-o")) { dport = atoi(argv[i+1]); } else if(!strcmp(argv[i], "--broadcast-address") || !strcmp(argv[i], "-b")) { destination = argv[i+1]; } else if(!strcmp(argv[i], "--source-address") || !strcmp(argv[i], "-s")) { source = argv[i+1]; } i += 2; } if (sport < 1 || sport > 65535) usage(argv[0]); if (dport < 1 || dport > 65535) usage(argv[0]); /* Workaround to avoid loop */ if(dport == sport) usage(argv[0]); nozombies(); fd = listenon(sport); for (;;) { getpacket(fd, sport, destination, dport, source); } /* NOTREACHED */ return 0; }