@@ -44,12 +44,10 @@ extern "C" {
4444 void * p; \
4545 } homa_##x;
4646
47+ DEFINE_HOMA_OBJ_HANDLE (callbacks) /* Homa::Callbacks */
4748DEFINE_HOMA_OBJ_HANDLE(driver) /* Homa::Driver */
4849DEFINE_HOMA_OBJ_HANDLE(inmsg) /* Homa::InMessage */
4950DEFINE_HOMA_OBJ_HANDLE(outmsg) /* Homa::OutMessage */
50- DEFINE_HOMA_OBJ_HANDLE(mailbox) /* Homa::Mailbox */
51- DEFINE_HOMA_OBJ_HANDLE(mailbox_dir) /* Homa::MailboxDir */
52- DEFINE_HOMA_OBJ_HANDLE(sk) /* Homa::Socket */
5351DEFINE_HOMA_OBJ_HANDLE(trans) /* Homa::Transport */
5452
5553/* ============================ */
@@ -134,60 +132,19 @@ extern void homa_outmsg_reserve(homa_outmsg out_msg, size_t n);
134132 */
135133extern void homa_outmsg_send (homa_outmsg out_msg, uint32_t ip, uint16_t port);
136134
137- /* *
138- * homa_outmsg_register_cb - C-binding for
139- * Homa::OutMessage::registerCallbackEndState
140- */
141- extern void homa_outmsg_register_cb_end_state (homa_outmsg out_msg,
142- void (*cb)(void *), void* data);
143-
144135/* *
145136 * homa_outmsg_release - C-binding for Homa::OutMessage::release
146137 */
147138extern void homa_outmsg_release (homa_outmsg out_msg);
148139
149- /* ============================ */
150- /* Homa::Socket API */
151- /* ============================ */
152-
153- /* *
154- * homa_sk_alloc - C-binding for Homa::Socket::alloc
155- */
156- extern homa_outmsg homa_sk_alloc (homa_sk sk);
157-
158- /* *
159- * homa_sk_receive - C-binding for Homa::Socket::receive
160- */
161- extern homa_inmsg homa_sk_receive (homa_sk sk, bool blocking);
162-
163- /* *
164- * homa_sk_shutdown - C-binding for Homa::Socket::shutdown
165- */
166- extern void homa_sk_shutdown (homa_sk sk);
167-
168- /* *
169- * homa_sk_is_shutdown - C-binding for Homa::Socket::isShutdown
170- */
171- extern bool homa_sk_is_shutdown (homa_sk sk);
172-
173- /* *
174- * homa_sk_local_addr - C-binding for Homa::Socket::getLocalAddress
175- */
176- extern void homa_sk_local_addr (homa_sk sk, uint32_t * ip, uint16_t * port);
177-
178- /* *
179- * homa_sk_close - C-binding for Homa::Socket::close
180- */
181- extern void homa_sk_close (homa_sk sk);
182-
183140/* ============================ */
184141/* Homa::Transport API */
185142/* ============================ */
186143
187144/* *
188145 * homa_trans_create - C-binding for Homa::Transport::create
189146 */
190- extern homa_trans homa_trans_create (homa_driver drv, homa_mailbox_dir dir ,
147+ extern homa_trans homa_trans_create (homa_driver drv, homa_callbacks cbs ,
191148 uint64_t id);
192149
193150/* *
@@ -196,9 +153,9 @@ extern homa_trans homa_trans_create(homa_driver drv, homa_mailbox_dir dir,
196153extern void homa_trans_free (homa_trans trans);
197154
198155/* *
199- * homa_trans_open - C-binding for Homa::Transport::open
156+ * homa_trans_alloc - C-binding for Homa::Transport::alloc
200157 */
201- extern homa_sk homa_trans_open (homa_trans trans, uint16_t port);
158+ extern homa_outmsg homa_trans_alloc (homa_trans trans, uint16_t port);
202159
203160/* *
204161 * homa_trans_check_timeouts - C-binding for Homa::Transport::checkTimeouts
@@ -216,13 +173,6 @@ extern uint64_t homa_trans_id(homa_trans trans);
216173extern void homa_trans_proc (homa_trans trans, uintptr_t desc, void * payload,
217174 int32_t len, uint32_t src_ip);
218175
219- /* *
220- * homa_trans_try_send - C-binding for
221- * Homa::Transport::registerCallbackSendReady
222- */
223- extern void homa_trans_register_cb_send_ready (homa_trans trans,
224- void (*cb)(void *), void* data);
225-
226176/* *
227177 * homa_trans_try_send - C-binding for Homa::Transport::trySend
228178 */
0 commit comments